【发布时间】:2015-08-17 21:13:12
【问题描述】:
我正在开发一个加载 reddits 并将其放入数据库的 Android 应用程序,我在我的片段 SubredditsFragment.class 中使用异步游标加载器。这个片段包含一个适配器,它有一个游标加载器。当我停止或重置加载器时,需要在我的适配器上更换加载器。
public class SubRedditsFragment extends Fragment implements LoaderManager.LoaderCallbacks<Cursor> {
private List<SubRedditData> subRedditDataList;
private IntentFilter filter;
public static final String TAG = SubRedditsFragment.class.getName();
private SubredditAdapter adapter;
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
String[] projection = null;
String where = null;
String[] whereArgs = null;
String sortOrder = null;
Uri queryUri = RedditContentProvider.CONTENT_URI;
return new CursorLoader(getActivity(), queryUri, projection, where, whereArgs, sortOrder);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Log.i(TAG,"Added broadcastreceiver");
getActivity().registerReceiver(receiver,filter);
adapter = new SubredditAdapter(getActivity().getApplicationContext(),subRedditDataList);
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
adapter.swapCursor(data);
getLoaderManager().destroyLoader(loader.getId());
}
@Override
public void onLoaderReset(Loader<Cursor> loader) {
adapter.swapCursor(null);
}
The problem is that I can't use the method adapter.swapCursor(), it's unknown for Android. I get the error message Cannot resolve method 'swapCursor(loader)'
【问题讨论】:
-
你在全局范围内定义
adapter? -
是的,我编辑了我的问题
-
请添加SubredditAdapter代码
标签: android android-fragments cursor loader