我尝试通过supportFragmentManager
在Compose中加载一个片段,如下所示。
class MainActivity : FragmentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
AndroidViewBinding(FragmentContainerBinding::inflate) {
supportFragmentManager.beginTransaction()
.replace(container.id, MyFragment()).commit()
}
}
}
}
然而,当视图显示时,片段被提交(加载)多次(即onCreate()
被调用多次)
有什么方法可以防止多次提交吗?有没有方法可以恢复状态(例如,如果被系统杀死,如何恢复)?
(note:我没有像在Developer Doc中那样在XML中使用androidx.fragment.app.FragmentContainerView
,我确实根据某些逻辑(此处未显示)使用了不同的片段,因此我必须使用supportFragmentManager
)
1条答案
按热度按时间9cbw7uwe1#
找到了一种方法让它工作
请注意,这将需要片段的KTX