У меня есть фрагмент, и хотите, чтобы начать загрузчик при нажатии кнопки:Загрузчик не запускается после вызова initLoader()?
public class MyFragment extends Fragment {
public void onActivityCreated() {
super.onActivityCreated();
Button btn = ...;
btn.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
getLoaderManager().initLoader(500, null, mMyCallback);
}
});
}
private LoaderManager.LoaderCallbacks<String> mMyCallback = new LoaderManager.LoaderCallbacks<String>() {
@Override
public Loader<String> onCreateLoader(int arg0, Bundle arg1) {
Log.e(TAG, "LoaderCallback.onCreateLoader().");
return new MyLoader(getActivity());
}
}
}
public class MyLoader extends AsyncTaskLoader<String> {
public MyLoader(Context context) {
super(context);
}
@Override
public String loadInBackground() {
Log.e(TAG, "Hi, running.");
return "terrific.";
}
}
После нажатия на кнопку, я могу видеть, метод onCreateLoader моего CallBack назвал, но созданный загрузчик фактически никогда не начинается. Нужно ли нам вызвать forceLoad() на самом загрузчике, чтобы запустить его? Ни один из образцов сообщений не делать этого,
Благодаря
OMG, вы буквально исправили всю мою проблему. – Alex