【问题标题】:Add item to RecyclerView in other Activity将项目添加到其他 Activity 中的 RecyclerView
【发布时间】:2018-12-16 11:20:59
【问题描述】:

我正在开发一个简单的应用程序,但我被 Android 设计架构卡住了。在我的主要活动中,我有一个显示项目列表的 RecyclerView。当我单击主 Activity 中的浮动操作按钮时,将启动一个新 Activity(输入 Activity),其中必须向 RecyclerView 添加一个新项目。

最好的方法是什么?

  • 我可以与输入 Activity 共享主 Activity 的 ViewModel。但是当我向这个共享的 ViewModel 添加一个项目时,RecyclerView 不会自动更新。
  • 我可以在输入 Activity 中创建一个结果 Intent。但是不可能在这个 Intent 中包含一个新的 Item() 对象。

由于我是 Android 应用程序开发的新手,我不知道该怎么做。

【问题讨论】:

  • 可以使用接口来完成。你知道如何使用它们吗?
  • 你可能需要adapter.notifyDataSetChanged方法
  • @TaQuangTu 我无法访问输入活动中的适配器,因为它是在主活动中定义的..
  • 您的物品存放在哪里? sqlite 数据库?使用房间图书馆?还有什么?
  • 我将项目存储在 sqlite 数据库中,而不使用房间库。我这样做是为了更好地了解 sqlite。

标签: android android-recyclerview


【解决方案1】:
  1. 在 sqlite 中保存 Input 活动的数据。
  2. 在共享首选项上保存一个布尔标志,指示数据已更改。您可以使用另一个整数(或字符串,取决于您的实现)来保存新添加的输入的 sqlite 主键。
  3. 退出输入活动
  4. 在 Main Activity 的 onResume() 内部,检查是否添加了数据,如果添加了,则获取其 id 和值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-07
    相关资源
    最近更新 更多