【发布时间】:2015-12-18 16:04:27
【问题描述】:
我对 android 开发相当陌生,过去 4 小时一直在寻找解决方案。
我在一个 Activity 中有 2 个片段,它们都使用不同的 sqlite 表来存储数据,然后将这些数据放入适配器以在片段中显示。
我使用加载器管理器为两个片段创建了两个不同的加载器(具有不同的 ID)。我在每个片段中定义了 Loader 回调函数。问题是当我使用一个片段加载数据时,在该片段的 OnCreateLoader 中为第二个片段返回空数据。
这是我在一个片段中实现的代码:
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
if (id==1){
String[] projection = {
NoticeTable.COLUMN_ID,NoticeTable.COLUMN_TITLE
};
CursorLoader cursorLoader = new CursorLoader(this,
NoticeContentProvider.ALL_NOTICE_URI, projection, null, null, null);
return cursorLoader;
}
else{
return null;
}
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
switch (loader.getId()) {
case 1:
adapter.swapCursor(data);
break;
case 0:
break;
}
}
@Override
public void onLoaderReset(Loader<Cursor> loader) {
switch (loader.getId()) {
case 1:
adapter.swapCursor(null);
break;
case 0:
break;
}
}
【问题讨论】:
标签: android android-fragments android-loadermanager