我有一个ViewPager
FragmentActivity
包含 3 个选项卡的选项卡,每个选项卡ListFragment
都有一个加载器。在这个活动的初始化中,所有的加载器都加载了,到目前为止一切都很好。
refresh()
我在片段中实现了一个公共方法来重新启动加载器:getLoaderManager().restartLoader(0, null, this);
当我从它抛出的父活动中调用它时illegalStateException Fragment not attached to Activity
。任何想法如何重新启动加载程序?
编辑:
我的活动扩展SherlockFragmentActicity
,其中我有一个适配器,可以扩展FragmentPagerAdapter
以管理寻呼机中的选项卡。
public class UserPageFragmentActivity extends SherlockFragmentActivity{
...
mTabsAdapter.addTab(mTabHost.newTabSpec(TAB_CHANNELS).setIndicator("Following"),
UserPageListFragmentChannels.class, null);
...
public void refresh(){
switch (mTabHost.getCurrentTab()){
case CHANNELS:
((UserPageListFragmentChannels)mTabsAdapter.getItem(CHANNELS)).refresh();
break;
...
}
}
}
现在标签片段是:
public class UserPageListFragmentChannels extends SherlockListFragment implements
LoaderManager.LoaderCallbacks<Void> {
...
public void refresh(){
getLoaderManager().restartLoader(0, null, this);
}
...
}