导航架构组件-如何刷新片段?

时间:2018-07-26 23:03:55

标签: android android-fragments android-architecture-components android-jetpack android-architecture-navigation

我有一个带有recyclerview的ListFragment,任何项目上的onClick都会打开DetailsFragment。详细信息片段在底部包含另一个recyclerview,显示“更多项目”。现在onClick在这些项目中的任何一个上都应该为该特定项目打开DetailsFragment。基本上,片段需要刷新。

过去,我只是使用fragmentManager替换fragment。我该如何刷新片段?如何创建指向同一片段的动作?

2 个答案:

答案 0 :(得分:1)

创建一个从DetailsFragment到DetailsFragment的动作并导航到该动作,如Alex所述

答案 1 :(得分:0)

更新片段的最好方法是在片段或活动/片段之间使用共享的视图模型。

您可以在https://developer.android.com/topic/libraries/architecture/viewmodel#sharing

处阅读文档。

Activity或Fragment A正在执行某些操作,最后它会更新视图模型。片段B(需要更新)正在观察相同的视图模型,并且可以更新UX中的值。

创建重新加载片段的操作非常耗时,并且并不总是适合每种用例。