【发布时间】:2013-01-25 21:51:00
【问题描述】:
我有一个SherlockListFragment,它实现了一个自定义AsyncTaskLoader。
在被覆盖的onStartLoading() 中,我有:
@Override
protected void onStartLoading() {
if (mData != null) {
deliverResult(mData);
}
else{
forceLoad();
}
}
包含SherlockListFragment 在onActivityCreated 中启动加载器:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mAdapter = new MyListAdapter(getActivity());
setListAdapter(mAdapter);
getLoaderManager().initLoader(0, null, this);
}
和:
@Override
public Loader<List<MyData>> onCreateLoader(int id, Bundle args) {
return new MyListLoader(getActivity());
}
问题是在我的 FragmentActivity 5 次激活/导航后,loadinBackground() 没有被调用。 onStartLoding 和 forceLoad 都被调用,但仅此而已。
没有例外,LogCat 中没有任何内容。
有什么想法吗?
【问题讨论】:
-
在哪里/如何触发 Activity 中的加载器?
-
你解决过这个问题吗?有一个非常相似的问题。
-
这个问题解决了吗?我在我的项目中遇到了同样的问题。
-
致那些询问的人;不,我不记得这个问题解决了,抱歉。在那个项目中,我放弃了 Sherlock 组件,转而使用 v7 应用兼容库。在那个过程中,很多东西都被重写了,我再也没有遇到过这个问题。