android - 从另一个片段返回后保留片段内的复选框状态
问题描述
他们在 Fragment (F1) 内使用 RecyclerView(R1.1)。Recyclerview R1.1 显示客户列表,其中包括 recyclerview R1.1 中每个客户的复选框。他们还为另一种类型的客户使用 2 个选项卡。我选择了第二个选项卡并选中了 recyclerview 中的一些复选框。
在 Fragment F1 的 onCreateView() 中,我正在调用 web api 来获取数据以填充 recyclerview R1.1。
然后通过代码为 AdvancedSearch 调用另一个片段(F2)fragmentTransaction.replace(int,fragment2,fragment2.getTag())
。然后调用另一个片段(F3)来显示来自 F2 的搜索结果。
然后从 F3 回到 F2 再回到 F1。在这里,我想获得带有选定的第二个选项卡和复选框的片段 F1。
我已经检查了 fragmentTransaction.add(int,fragment,string),但我不知道这是否是一个好习惯。
解决方案
最简单的方法就是你说的那个。使用 add 选项,Fragment 保持状态,因为它还活着。如果你不想这样维护片段,你应该通过父 Activity 使用 onSaveInstanceState 和 onRestoreInstanceState。
推荐阅读
- java - 集成测试中@DirtiesContext 和 FlywayConfig bean 组合出现异常
- autodesk-forge - 欧特克锻造。如何模糊选定对象以外的对象?
- android-studio - 更新/安装最新的 Flutter 包 (pubspec.yaml)
- java - 在hibernate vs JDBC或mybatis之间选择的最佳实践仅在数据库中插入而在java中的表中没有任何关系
- hadoop - hive shell 在我的 hive 3.1.2 中显示了许多日志/警告
- r - as.date 将日期转换为错误的年份
- neo4j - 密码查询以匹配多个目标节点
- java - Lombok @Singular 在构造函数上使用@Builder 的子类中没有影响
- c# - Asp.net Core/ODATA 控制器在从 Postman 发送时未接收到 id
- javascript - 谷歌图表:未捕获的类型错误:google.loader.writeLoadTag 不是函数