首页 > 解决方案 > 根据从一个活动中保存的第二个片段发送的数据更改片段中的数据

问题描述

我有包含 2 个片段的 Activity A。B 和 C B 使用 Bundle 从 Activity 中获取数据。该片段显示了一些产品的子类别。

C 显示主要类别的产品。所以如果主类别包含 100 个项目。这个片段展示了它们。

所以假设 B 片段显示了主要类别的 5 个子类别。和 C 显示主要类别的所有项目。我想知道如何从片段 B 按下子类别以将字符串发送到片段 C 并过滤项目以仅显示与该子类别相关的项目。因此,它不是显示 100,而是显示与按下的子类别相对应的 20 个项目。

如何将此字符串发送到 C 片段以及如何在 C 片段中捕获此事件。每次按下子类别。项目被过滤。

注意:使用 RecyclerView 和 MVVM。

标签: androidfragment

解决方案


一种优雅而简单的解决方案是使用 ViewModel 和 LiveData。

我创建了一个包含三个类的仓库。两个片段,A 和 B 以及一个 ViewModel,都在 Java 中。

https://github.com/MicroRJ/how_to_use_view_models_for_communication


推荐阅读