Fragment dont show content of TabHost in second time

心不动则不痛 提交于 2019-12-06 11:48:24

For me, the problem was in my TabsAdapter. The single constructor looked like this:

public TabsAdapter(FragmentActivity activity, TabHost tabHost, ViewPager pager) {
    super(activity.getSupportFragmentManager());
    mContext = activity;
    mTabHost = tabHost;
    mViewPager = pager;
    mTabHost.setOnTabChangedListener(this);
    mViewPager.setAdapter(this);
    mViewPager.setOnPageChangeListener(this);
}

It's calling getSupportFragmentManager which returns the FragmentManager associated with our FragmentActivity. Bad. We need the FM that our current Fragment manages. Creating an alternate (overloaded) constructor that used getChildFragmentManager did the trick.

public TabsAdapter(Fragment fragment, TabHost tabHost, ViewPager pager) {
    super(fragment.getChildFragmentManager());
    mContext = fragment.getActivity();
    mTabHost = tabHost;
    mViewPager = pager;
    mTabHost.setOnTabChangedListener(this);
    mViewPager.setAdapter(this);
    mViewPager.setOnPageChangeListener(this);
}

Your problem stems from the same exact issue, just in a different format. Replace your calls to getSupportFragmentManager with getChildFragmentManager in your Fragment.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!