android-fragments 如何使用导航组件在bottomNavigationView上保存片段示例

ngynwnxp  于 2022-11-14  发布在  Android
关注(0)|答案(2)|浏览(205)

我正在使用导航组件在底部导航视图片段之间导航。但是片段状态正在保存,每次我访问该菜单项时它都在创建。
根据此更新-https://developer.android.com/jetpack/androidx/releases/navigation#2.5.0-alpha04,组件正在保存状态。

wfauudbj

wfauudbj1#

Jetpack Navigation中只会保留设定了“id”的检视的片段状态。没有任何“id”的检视将不会保留其状态。此外,您应该搭配NavController使用AppBarConfiguration。有一些AppBarConfiguration的范例可供查阅。
最后也是最重要的一点,不要在操作的导航图xml文件中使用“app:popUpTo”和“app:popUpToInclusive”属性。这样会弹出所有的片段,直到操作被触发时,“app:popUpTo”片段在后栈中。

pexxcrt2

pexxcrt22#

如果你不想把你的片段保存到backstack,使用这一行到这个片段的nav_graph

<fragment
       android:id="@+id/fragment1"
       android:name="fragmentClassName" >
      <action
       android:id="@+id/action_Fragment1_to_Fragment2"
       app:destination="@id/Fragment2_id"
       app:popUpTo="@+id/your_root_graph_id"
       app:popUpToInclusive="true" />

相关问题