【发布时间】:2021-11-12 20:20:29
【问题描述】:
我的应用中有一个片段 A。
我从片段 A 移到片段 B。
请注意,我在 Fragment A 上添加了 Fragment B(不是替换 Fragment。)
现在,当我从片段 B 回到片段 A 时,我必须调用片段 A 的方法,这就是为什么我在片段 A 的生命周期方法中调用该方法:在 onResume()强>,onViewCreated()
但是我注意到通过将 log 放入这些方法没有调用的方法意味着我没有在 logcat 中获取 Log 并且我在这两个方法中调用的方法没有执行。
可能是什么问题?谢谢。
我做的如下供大家参考:
override fun onResume() {
super.onResume()
Log.e("onResume 1","onResume 1")
(activity as HomeActivity).updateToolbar(false)
setLanguageSpecificData()
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
Log.e("onViewCreated","onViewCreated")
setLanguageSpecificData()
}
【问题讨论】:
-
这可能是由于 FragmentA 停留在屏幕上并且没有调用
onPause()方法。分别删除顶部片段(FragmentB)后不会调用onResume()。当你调用transaction.replace()时,你隐藏了你的FragmentA 并且onPause()将被调用。
标签: android kotlin android-fragments fragment android-lifecycle