我有一個片段,想點擊一個按鈕時啓動裝載器:調用initLoader()後Loader無法啓動?
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方法,但從來沒有真正開始創建的裝載機。我們是否需要在loader上調用forceLoad()來實際啓動它?樣品的帖子沒有做到這一點,
感謝
OMG,你從字面上解決了我的整個問題。 – Alex 2013-03-22 23:03:59