下面列出了android.support.v4.app.LoaderManager#LoaderCallbacks ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void loadWeather(boolean restart) {
mWeatherLayout.setVisibility(View.INVISIBLE);
mErrorLayout.setVisibility(View.GONE);
mLoadingView.showLoadingIndicator();
LoaderManager.LoaderCallbacks<City> callbacks = new WeatherCallbacks();
if (restart) {
getSupportLoaderManager().restartLoader(R.id.weather_loader_id, Bundle.EMPTY, callbacks);
} else {
getSupportLoaderManager().initLoader(R.id.weather_loader_id, Bundle.EMPTY, callbacks);
}
}
/**
* Init Loader Manager for fragment
* @param fragment fragment
* @param callbacks callbacks
* @param args arguments for loader construction
* @param <T>
*/
public <T> LoaderManagerCreator(Fragment fragment, LoaderManager.LoaderCallbacks<T> callbacks, Bundle args) {
this(
fragment.getActivity().getApplicationContext(),
fragment.getLoaderManager(),
(int) HashUtil.longHash(((Object) fragment).getClass(), fragment.getArguments(), callbacks),
callbacks,
args
);
}
/**
* Init Loader Manager for Activity
* @param activity activity
* @param callbacks callbacks
* @param args arguments for loader construction
* @param <T>
*/
public <T> LoaderManagerCreator(FragmentActivity activity, LoaderManager.LoaderCallbacks<T> callbacks, Bundle args) {
this(
activity.getApplicationContext(),
activity.getSupportLoaderManager(),
(int) HashUtil.longHash(((Object) activity).getClass(), activity.getIntent(), callbacks),
callbacks,
args
);
}
/**
* Init LoaderManager for Fragment.
* @param fragment fragment
* @param callbacks Loader callbacks
* @param <T> usually Cursor
*/
public <T> LoaderManagerCreator(Fragment fragment, LoaderManager.LoaderCallbacks<T> callbacks) {
this(fragment, callbacks, null);
}
/**
* Init LoaderManager for Activity.
* @param activity activity
* @param callbacks Loader callbacks
* @param <T> usually Cursor
*/
public <T> LoaderManagerCreator(FragmentActivity activity, LoaderManager.LoaderCallbacks<T> callbacks) {
this(activity, callbacks, null);
}
/**
* Init Loader Manager
* @param context context
* @param loaderManager loader manager
* @param loaderId loader id
* @param callbacks callbacks
* @param args arguments for loader construction
* @param <T>
*/
public <T> LoaderManagerCreator(Context context, LoaderManager loaderManager, int loaderId, LoaderManager.LoaderCallbacks<T> callbacks, Bundle args) {
loaderManager.initLoader(loaderId, args, callbacks);
}