【发布时间】:2019-03-29 21:39:38
【问题描述】:
“在片段之间共享数据”部分中的这个android documentation page 描述了如何使用ViewModel 解决主从流中所选项目的共享问题。但是,该解决方案仅适用于将两个片段放在同一个Activity 中的大型设备。在较小的设备上,常见的方法是将详细信息片段放在自己的DetailActivity 中,然后两个片段将具有不同的ViewModel 实例,因此该方法会失败。
所以我的问题是如何将其推广到所有设备尺寸?
我有一个想法,即使在小型设备上,我也可以将两个片段放在同一个活动中。这与我见过的主细节流的每个实现都背道而驰。可以实现导航拟合。然后DetailActivity 将仅用于显示单个项目作为对意图的反应。它可以实例化SharedViewModel 并将传递的项目设置为selectedItem。然后细节片段可以以相同的方式获取SharedViewModel 的实例,并且不需要区分两个父活动。
这个question 很相似,但是 cmets 中的人抱怨它过于宽泛且不清楚
【问题讨论】:
标签: android mvvm master-detail androidx