1

我正在尝试实现一个自定义游标加载器,它将我的数据库中的数据加载到片段页面适配器中托管的片段中。我有一个活动(扩展 SherlockFragmentActivity),它有一个片段,它实现了一个片段页面适配器(通过新的嵌套片段)。fragmentpageradapter 下的每个片段都实现了一个自定义光标加载器,该加载器生成要显示的数据。我在 onActivityCreated 中启动加载程序并在 onResume 上重新启动它并在 onDestroy 上销毁它。假设我在第 1 页,寻呼机也自动启动第 2 页(更流畅的事务的默认行为)问题是如果我添加要在第 2 页中显示的项目(从操作栏)并且我在第 1 页,当我滑动到加载程序页面时不会刷新数据。

有什么想法吗 ?谢谢 !

4

1 回答 1

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);
    }
}
于 2012-12-21T12:48:00.353 回答