使用RealmRecyclerViewAdapter将待处理项添加到RealmResults

时间:2017-04-02 18:32:43

标签: android realm

我正在使用RealmRecyclerViewAdapter管理我的UI列表。我想在集合中添加一个“待处理”项目,该项目将立即显示,同时将新项目发布到服务器。如果发生故障,我会将其从显示屏上移除。与聊天功能类似;我在点击发送时显示聊天,如果由于某种原因帖子失败,我可以删除它并提醒用户。

问题是,使用常规的RecyclerView适配器,我只需要在没有id的集合末尾添加一个项目,并根据需要将其删除。但由于RealmRecyclerViewAdapter使用托管的RealmResults,我无法添加没有id的新项。

有人可以建议一种方法来处理我用RealmRecyclerViewAdapter描述的情况吗?

1 个答案:

答案 0 :(得分:1)

不知道您的数据模型是什么样的。很难给出具体的建议,但听起来你的所有ID都有,所以这样的事情应该有效:

1)必须可以生成ID离线。标准解决方案是GUID:https://en.wikipedia.org/wiki/Universally_unique_identifier 2)在模型类上有一个布尔值:" syncedWithServer"或类似的东西。然后,您可以将尚未同步的所有项目渲染为"待定"。

public class ChatEntry extends RealmObject {
  @PrimaryKey
  private String id = UUID.randomUUID().toString();
  private String entry;
  private boolean syncedWithServer;
}