我正在尝试实现一个自定义游标加载器,它将我的数据库中的数据加载到fragmentpageradapter中托管的片段中。 我有一个Activity(扩展SherlockFragmentActivity),它有一个Fragment,它实现了一个fragmentpageradapter(通过新的嵌套片段)。 fragmentpageradapter下的每个片段都实现了一个自定义游标加载器,可以生成要显示的数据。我在onActivityCreated中启动加载器并在onResume上重新启动它并在onDestroy上销毁它。让我说我在第1页,寻呼机自动启动第2页(更流畅的交易的默认行为)问题是,如果我添加要在第2页显示的项目(从操作栏),我在第1页,当我滑到页面加载器不会刷新数据。
任何想法? 谢谢!
答案 0 :(得分:0)
没有必要停止加载器,因为LoaderManager和FragmentManager一起工作来为您处理。话虽如此,我不确定这是你问题的原因。在过去的一个月里,我发现装载机存在许多错误。尽管如此,其中大部分与装载者没有更新有关。
我知道加载器存在错误但我没有时间跟踪它。以下是建议的解决方法。试一试。
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// Start or restart the loader. Note: this is a work-around to an Android
// bug with loaders where they are not always properly activated with life-cycle
// changes in the activity/fragment.
Loader<Object> loader = getLoaderManager().getLoader((int) mId);
if (loader != null && ! loader.isReset()) {
mStatusLoader = (StatusItemLoader) getLoaderManager().restartLoader(
(int) mId, null, mLoadListener);
} else {
mStatusLoader = (StatusItemLoader) getLoaderManager().initLoader(
(int) mId, null, mLoadListener);
}
}