繁体   English   中英

Android-为什么在弹出堆栈后调用onAttach()和onCreate()?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM