我有一个名为MainFragmentTabLayout的片段。 TabLayout有两个选项卡,每个选项卡都有一个片段。我们称之为Fragment AFragment B

当我打开MainFragment时,Fragment AFragment B会按预期填充在TabLayout中。当我恢复MainFragment时,Fragment AFragment 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);
    }


我该如何解决?

最佳答案

由于片段ABMainFragment的子片段,因此请使用getChildFragmentManager()而不是getFragmentManager()

10-06 02:57