简体   繁体   English

如何在父片段恢复上恢复子片段

[英]How to resume child fragments on parent fragment resume

I have a fragment called the MainFragment with a TabLayout . 我有一个名为MainFragment的片段,带有TabLayout The TabLayout has two tabs with a fragment each. TabLayout有两个选项卡,每个选项卡都有一个片段。 Lets call it Fragment A and Fragment B . 让我们称之为Fragment AFragment B

When I open the MainFragment , Fragment A and Fragment B are populated within the TabLayout as expected. 当我打开MainFragmentFragment AFragment B按预期填充在TabLayout中。 When I resume MainFragment , Fragment A and Fragment B are not resumed, and I get two empty tabs. 当我恢复MainFragmentFragment AFragment B没有恢复,我得到两个空标签。

My MainFragment looks like this 我的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);
    }

How do I solve this? 我该如何解决这个问题?

由于Fragments ABMainFragment子片段, MainFragment使用getChildFragmentManager()而不是getFragmentManager()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM