gpt4 book ai didi

java - 替换事务后使用嵌套 fragment 重用 fragment

转载 作者:行者123 更新时间:2023-11-29 08:21:49 25 4
gpt4 key购买 nike

我有mainFrag有 2 个选项卡(没有 ViewPager )和显示 2 个 fragment 的容器布局 frag1frag2 .

该应用正在使用替换事务,mainFrag也添加到 backstack , mainFrag使用 childFragmentManager替换 fragment 。

问题frag1frag2 使用backstack并且每次都重新创建 - onCreate被调用,并从 REST 请求加载数据

如何在没有开销的情况下解决这个问题,在这种情况下可能有一些好的做法(使用单个 Activity )?

enter image description here

最佳答案

根据 the Fragments documentation ,你应该使用 addToBackStack() 和你的 replace() 操作来将你的 Fragment B 添加到返回堆栈:

// Create new fragment and transaction
Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);

// Commit the transaction
transaction.commit();

当您执行此操作时,FragmentManager 会为您处理 onBackPressed(),反转 replace() 操作并恢复之前的 Fragment,恢复其保存的实例状态、 View 状态等

关于java - 替换事务后使用嵌套 fragment 重用 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57112681/

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