我正在使用导航组件在底部导航视图片段之间导航。但是片段状态正在保存,每次我访问该菜单项时它都在创建。根据此更新-https://developer.android.com/jetpack/androidx/releases/navigation#2.5.0-alpha04,组件正在保存状态。
wfauudbj1#
Jetpack Navigation中只会保留设定了“id”的检视的片段状态。没有任何“id”的检视将不会保留其状态。此外,您应该搭配NavController使用AppBarConfiguration。有一些AppBarConfiguration的范例可供查阅。最后也是最重要的一点,不要在操作的导航图xml文件中使用“app:popUpTo”和“app:popUpToInclusive”属性。这样会弹出所有的片段,直到操作被触发时,“app:popUpTo”片段在后栈中。
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" />
2条答案
按热度按时间wfauudbj1#
Jetpack Navigation中只会保留设定了“id”的检视的片段状态。没有任何“id”的检视将不会保留其状态。此外,您应该搭配NavController使用AppBarConfiguration。有一些AppBarConfiguration的范例可供查阅。
最后也是最重要的一点,不要在操作的导航图xml文件中使用“app:popUpTo”和“app:popUpToInclusive”属性。这样会弹出所有的片段,直到操作被触发时,“app:popUpTo”片段在后栈中。
pexxcrt22#
如果你不想把你的片段保存到backstack,使用这一行到这个片段的nav_graph