Android 使用多个后台堆栈时,片段中的片段未持久化
因此,我使用这种方法为我的应用程序支持多个后台堆栈。这段代码应该使底部导航组件持久化片段和其中的所有内容(滚动状态等)。所以问题是,当我有一个片段,我在片段中以编程方式创建它,让我使用google示例代码创建一个示例。我将排行榜选项卡目标更改为我的自定义板片段Android 使用多个后台堆栈时,片段中的片段未持久化,android,android-fragments,fragment-backstack,Android,Android Fragments,Fragment Backstack,因此,我使用这种方法为我的应用程序支持多个后台堆栈。这段代码应该使底部导航组件持久化片段和其中的所有内容(滚动状态等)。所以问题是,当我有一个片段,我在片段中以编程方式创建它,让我使用google示例代码创建一个示例。我将排行榜选项卡目标更改为我的自定义板片段 class BoardFragment : Fragment() { private lateinit var leaderboardFragment: Leaderboard override fun onCreat
class BoardFragment : Fragment() {
private lateinit var leaderboardFragment: Leaderboard
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_board, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
leaderboardFragment = Leaderboard.newInstance()
activity?.supportFragmentManager?.beginTransaction()
?.replace(R.id.frag_container, leaderboardFragment)
?.commit()
}
}
在onViewCreated方法中,我创建排行榜片段,并将我在Board fragment布局中创建的片段容器替换为这个新创建的排行榜片段。结果与原始代码相同,但问题是当我们转到其他菜单并返回到它时,排行榜片段显然没有持久化,因为在onViewCreated中再次创建的片段。那么,如何保存片段呢