lor*_*nzo 0 android android-lifecycle android-fragments kotlin
我刚刚发现使用 API 24 的 Pixel 模拟器出现永久性崩溃。我的真实设备和其他一些模拟器没有此错误。
我正在做的事情如下:在一个片段中,我尝试使用以下代码添加另一个片段:
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val fragmentTransaction = requireFragmentManager().beginTransaction()
val fragment = ComposableTableReportFragment.newInstance(null)
fragmentTransaction.add(R.id.tableContainer, fragment)
fragmentTransaction.commit()
Run Code Online (Sandbox Code Playgroud)
这会导致我的应用程序启动时发生以下崩溃。
E/AndroidRuntime: FATAL EXCEPTION: main
Process: net.pokeranalytics.android, PID: 20332
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at androidx.fragment.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:2080)
at androidx.fragment.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:2106)
at androidx.fragment.app.BackStackRecord.commitInternal(BackStackRecord.java:683)
at androidx.fragment.app.BackStackRecord.commit(BackStackRecord.java:637)
at net.pokeranalytics.android.ui.fragment.StatisticsFragment.initUI(StatisticsFragment.kt:71)
at net.pokeranalytics.android.ui.fragment.StatisticsFragment.onViewCreated(StatisticsFragment.kt:62)
Run Code Online (Sandbox Code Playgroud)
我已经尝试过各种方法,因为崩溃非常频繁,但似乎每个案例都是独特的,并且没有找到适合我的解决方案。谢谢你的帮助!