我有一个名为MainFragment
和TabLayout
的片段。 TabLayout
有两个选项卡,每个选项卡都有一个片段。我们称之为Fragment A
和Fragment B
。
当我打开MainFragment
时,Fragment A
和Fragment B
会按预期填充在TabLayout
中。当我恢复MainFragment
时,Fragment A
和Fragment B
不会恢复,并且我得到两个空白标签。
我的MainFragment
看起来像这样
@Override
public View onCreateView(
LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.main_fragment, null);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Injector.component().inject(this);
setupViewPager(viewPager);
tabLayout.setupWithViewPager(viewPager);
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getFragmentManager());
adapter.addFragment(new FragmentA(), "Fragment A");
adapter.addFragment(new FragmentB(), "Fragment B");
viewPager.setAdapter(adapter);
}
我该如何解决?
最佳答案
由于片段A
和B
是MainFragment
的子片段,因此请使用getChildFragmentManager()
而不是getFragmentManager()