我正在尝试在 Android 应用程序中实现导航组件,并在从一个片段导航回另一个片段时注意到一个问题。
目前,每当我单击片段 B 或 C 中的后退按钮时,一个 Activity 中有 3 个片段(A、B 和 C),前一个片段 onCreateView() 和 onActivityCreated() 都会被调用,因此用户选择和其他详细信息都会刷新。我正在使用以下版本的导航组件。
ext.nav_version = '2.6.0'
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
Fragment#onActivityCreated
已经deprecated
- 主要是因为你所描述的 - 它被多次调用,即使底层的Activity
s onCreate
只被调用了一次 - Bug问题。
TL;DR 是 - 如果您在
View
中做任何与 onActivityCreated
相关的事情,请在 onViewCreated
中进行。
建议可以处理的其他逻辑移至 onCreate 或附加生命周期观察器
CREATED