android - 根据从一个活动中保存的第二个片段发送的数据更改片段中的数据
问题描述
我有包含 2 个片段的 Activity A。B 和 C B 使用 Bundle 从 Activity 中获取数据。该片段显示了一些产品的子类别。
C 显示主要类别的产品。所以如果主类别包含 100 个项目。这个片段展示了它们。
所以假设 B 片段显示了主要类别的 5 个子类别。和 C 显示主要类别的所有项目。我想知道如何从片段 B 按下子类别以将字符串发送到片段 C 并过滤项目以仅显示与该子类别相关的项目。因此,它不是显示 100,而是显示与按下的子类别相对应的 20 个项目。
如何将此字符串发送到 C 片段以及如何在 C 片段中捕获此事件。每次按下子类别。项目被过滤。
注意:使用 RecyclerView 和 MVVM。
解决方案
一种优雅而简单的解决方案是使用 ViewModel 和 LiveData。
我创建了一个包含三个类的仓库。两个片段,A 和 B 以及一个 ViewModel,都在 Java 中。
https://github.com/MicroRJ/how_to_use_view_models_for_communication
推荐阅读
- sql - 如何使用联接而不是使用 +(=) 或 = 转换此代码
- c++ - 斐波那契中的模板递归如何在 C++ 中工作?
- node.js - AWS elasticache - Redis:无法调试 Redis 错误
- spring - 弹性搜索:不可能得到桶结果
- flutter - 为什么我不能在 Flutter 中使用 ContainedButton?
- python-3.x - 为什么散点图没有显示在pairplot内
- java - 有没有一种方法可以在不知道对象数量的情况下将所有实例化对象一起收集到 ArrayList 中?
- python - 我为我的掷骰子游戏添加变量过于复杂
- arrays - 为什么 strcmp() 不适用于我的数组输入?
- android - 获取数据库类的getInstance函数的应用程序上下文(android kotlin)