gpt4 book ai didi

android - ViewPager 内的 fragment 不会被破坏

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:43 24 4
gpt4 key购买 nike

在 onCreate 方法的 MainActivity 中,我将 () MainFragment 添加到 FrameLayout main_view_container:

        if (savedInstanceState == null) {
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.main_view_container, new MainFragment(), MainFragment.FRAGMENT_TAG);
fragmentTransaction.commit();
}

在我的 MainFragment 中,我有带 FragmentStatePagerAdapter 的 ViewPager,每个页面都是 fragment 本身 (PagerFragment)。

然后在单击按钮后的某个时刻,我想用另一个 fragment (ReplacementFragment) 替换整个 MainFragment,并将事务添加到后台堆栈,这样我就可以在按下后退按钮时返回到 MainFragment。所以我做了以下事情:

FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_view_container, new ReplacementFragment(), null);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();

在我提交事务 MainFragment 停止并调用 onDestroyView() 之后,PagerFragments(在 MainFragment 的 ViewPager 中)完全没有任何反应,没有事件发生单个 onStop() 调用。然后,当我返回时,在 onCreateView() 中重新创建了 MainFragment 的 View ,这也意味着 ViewPager 的新实例,但对于 PagerFragments 仍然没有。

怎么可能在父 Fragment 中调用 onDestroyView 但在子 Fragment 中不调用?

最佳答案

在 MainFragment 中创建寻呼机适配器时,您必须使用 getChildFragmentManager()。

关于android - ViewPager 内的 fragment 不会被破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26553865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com