为什么当我使用 Android 导航组件返回片段时总是触发我的 onCreate?

why my onCreate is always triggered when I back to a fragment using Android Navigation component?

我是 Android 开发新手,尤其是使用导航组件。我使用这样的代码从一个目的地(片段 A)移动到另一个目的地(片段 B)

val BDestination = AFragmentDirections.actionToB(userData)
findNavController().navigate(BDestination)

当我从fragmentB返回到fragment A时,fragmentA中的onCreateView方法总是被触发。我希望如果我从 B 回到 A,那么它不会触发 onCreateView 方法,它只会触发 fragmentA

中的 onResume 方法

这是正常行为吗?我可以改变吗?因为如果调用 onCreateView 方法,我的 fragmentA 中的所有属性都将消失。

如果您查看下面的生命周期,您会发现一旦离开 activity 视图就会通过 onDestroyView() 方法销毁,但是,当您返回它时,它会触发 onCreateView() 方法。这是片段生命周期的正常行为。如果您有不希望每次将视图置于最前沿的代码 运行,那么我建议您将它们放在布尔 if() 块中。