房间推迟交易中的LiveData事件

时间:2017-10-25 07:23:01

标签: android transactions android-room android-livedata

我正在使用Room数据库作为我应用中的主要数据源。目前我遇到了一个问题。我在我的应用程序中有这个流程:

  1. 显示数据库中的数据
  2. 从后端获取新数据
  3. 从db
  4. 中删除旧数据
  5. 在数据库中插入新数据
  6. 问题出在步骤3和4中.UI中显示的所有数据都由LiveData对象支持,因此当我从d​​b中删除旧数据时,LiveData对象会通知UI数据库为空,并简要介绍我的UI变得空虚。一旦插入新数据,UI就会被新数据填充。 最初,我认为在一个事务中放置删除和插入操作将告诉房间“推迟”通知,直到调用setTransactionSuccessful()方法。然而,它并没有解决问题。

    有谁知道如何实现所需的行为?(取消订阅LiveData对象除外)。

0 个答案:

没有答案