[英]Android - Why is onAttach() and onCreate() being called after popping backstack?
过渡:片段A>片段B
片段A通过onDestroyView()
,并且不通过任何其他拆卸方法。
过渡:弹出片段B,并还原片段A
片段A经过onAttach()
和onCreate()
。 为什么会这样呢? 片段A是否只需要重新创建其视图?
如何替换片段(在Kotlin中):
private fun replaceFragment(fragment: Fragment, @IdRes frameId: Int, fragmentTag: String) {
val transaction: FragmentTransaction = supportFragmentManager.beginTransaction()
transaction.replace(frameId, fragment, fragmentTag)
transaction.addToBackStack(fragmentTag)
transaction.commit()
}
以这种方式弹出后退堆栈:
supportFragmentManager.popBackStack()
FragmentTransaction.replace()
函数可以实现此目的。 您需要实例化片段,并使用诸如ViewPager之类的解决方案在片段中导航。 Java或Kotlin中的代码具有相同的作用。 我只是回答一个与您类似的问题。 尝试看一下: 更改片段而不重新创建它们
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.