使用导航组件向后导航时调用 Fragment 的 onCreateView()、onActivityCreated()

问题描述 投票:0回答:1

我正在尝试在 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"
android android-fragments android-jetpack-navigation
1个回答
0
投票

Fragment#onActivityCreated
已经
deprecated
- 主要是因为你所描述的 - 它被多次调用,即使底层的
Activity
s
onCreate
只被调用了一次 - Bug问题

TL;DR 是 - 如果您在

View
中做任何与
onActivityCreated
相关的事情,请在
onViewCreated
中进行。

建议可以处理的其他逻辑移至 onCreate 或附加生命周期观察器

CREATED

© www.soinside.com 2019 - 2024. All rights reserved.