我的应用程序中有三个片段:片段A,B和C.
步骤:
问题是Fragment C的onStop,onDestroyView等没有被调用,因此片段A在屏幕上不可见,片段C是可见的(因为它; s视图没有被破坏)。
答案 0 :(得分:3)
我相信对后筹码存在一些误解。
将A替换为B时,将事务A-> B 放在后堆栈中,而不是A片段。后端堆栈知道当用户按下后退按钮时,它将必须回滚事务:销毁B并重新创建A.在您的情况下,您将用B替换C并且您按下后退按钮:将重新创建A并且B不能被破坏,因为它不存在。
也许你可以找到一个使用FragmentManager.addOnBackStackChangedListener()
监听后台事件的解决方案,但我不知道它是否符合你的要求。
答案 1 :(得分:1)
请浏览开发博客 http://developer.android.com/guide/components/fragments.html
片段生命周期受活动生命周期的影响。