我无法获取指向 Fragment 的指针,这是 FragmentTabhost 中当前可见的片段。
我有一个SherlockFragmentActivity
调用SecondActivity
,它从它的onCreate
方法加载 Tabhost,如下所示:
if (getSupportFragmentManager().findFragmentById(android.R.id.content) == null) {
Fragment f = new TabsFragment();
getSupportFragmentManager().beginTransaction().add(android.R.id.content, f, "tabsfragment").commit();
}
TabsFragment
是SherlockFragment
使用此onCreate
方法创建选项卡的子类
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mTabHost = new FragmentTabHost(getActivity());
mTabHost.setup(getActivity(), getChildFragmentManager(), R.layout.tabs);
mTabHost.addTab(mTabHost.newTabSpec("Tab1").setIndicator("Offers",
getResources().getDrawable(R.drawable.offersale)),
OfferListFragment.class,
null);
mTabHost.addTab(mTabHost.newTabSpec("Tab2").setIndicator("News",
getResources().getDrawable(R.drawable.newspaper)),
NewsFragment.class,
null);
return mTabHost;
}
现在,当我在第二个选项卡中时,我在一个由原始活动启动的类中完成了一个后台任务SecondActivity
,然后我调用它应该给我一个选项卡的引用,但它总是返回 null!
NewsFragment newsView = (NewsFragment) delegate.getSupportFragmentManager().findFragmentByTag("Tab2");
该delegate
变量是一个指向SecondActivity
后台类启动时的指针。
如何获得指向选项卡片段的指针?Tag
添加选项卡时设置的“Tab2”是片段的,我错了吗?