如何更新房间数据库中的 check recyclerview 列表?

问题描述

所以我有一个待办事项列表,只有典型的复选框和 textview 回收器视图列表。 我希望回收者视图记住列表中所有复选框的检查状态,当单击提交按钮时,列表中所有复选框的检查状态列表将更新到房间数据库,但我找不到方式。

这些是我发现的关于这个问题的一些要点:

  • recycler 视图不应引用数据库 (dao-viewmodel_
  • 您可以在适配器的 onbindviewholder 中更新(虽然我不明白如何)

谢谢。

解决方法

这是执行此操作的潜在伪指南:

  • 您需要一个模型/pojo 类,它有一个字段来维护复选框状态,为其添加 getter 和 setter。

  • 此模型类的列表从活动/片段传递到 RecyclerView 适配器。

  • onBindViewHolder() 应该更新列表中每一行的 checkBox

  • 每当一个复选框被选中时,你应该在相应的列表位置更新它,以及一个监听器(它由活动实现并传递给适配器以在你更新列表项时触发它的回调(比如改变复选框值)。

  • 单击保存按钮后,将列表保存在 Room 中。

  • 每当您显示活动时,它都应该从 Room 获取列表并将其传递给适配器。