私は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);
}
...
}