我在 OnCreate 中創建多個片段實體時遇到了問題。當我使用主頁按鈕關閉應用程式并且我將回傳到應用程式時,片段實體會再創建一次。我怎樣才能防止這種情況?
fragment = FragmentMain.newInstance(intent.extras?.getSerializable(DATA_MAIN)).also {
supportFragmentManager.beginTransaction()
.add(frameLayout.id, it, FragmentMain::class.java.simpleName)
.addToBackStack(FragmentMain::class.java.simpleName)
.commit()
}
uj5u.com熱心網友回復:
這是預期的行為,因為 Android 在行程死亡后重新創建添加到片段管理器的片段。
您還只是在 Android 創建的片段之上添加了第二個新片段,您可能不想這樣做。
fragment = when {
savedInstanceState == null -> FragmentMain.newInstance(intent.extras?.getSerializable(DATA_MAIN)).also {
supportFragmentManager.beginTransaction()
.add(frameLayout.id, it, FragmentMain::class.java.simpleName)
.addToBackStack(FragmentMain::class.java.simpleName)
.commit()
}
else -> supportFragmentManager.findFragmentByTag(FragmentMain::class.java.simpleName)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/381060.html
