微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当不对“房间设置表”进行任何更改时,如何强制LiveData观察器触发

如何解决当不对“房间设置表”进行任何更改时,如何强制LiveData观察器触发

此实现是用Java完成的。

我在Android Room上有一个基本实现,其中有以下情形:

到达最后一个步骤且结果大于0时,将触发我的观察者而没有任何问题,但是在这种情况下,有0个新条目添加一个空表中,则永远不会触发观察者。

我知道这是预期的行为(无需进行任何更改,因此无需触发观察者),但是我想强制在这种情况下触发它,但是我在可用文档中找不到任何线索

我该如何实现?

对于Java语言,请回答。只要解决方案也使用Java,就可以包括Kotlin等效项。

解决方法

我不确定是否有您需要该触发的原因以及它是否对您的情况有用,但是我可以为您提供一些实验指导-考虑MediatorLiveData方法- addSourse 删除源

我猜您的DAO公开了LiveData的包装结果。而您的存储库(如果使用的话)仅返回相同的LiveData。您可以尝试将LiveData替换为MediatorLiveData,从网络获得零结果后,您可以为此MediatorLiveData调用 removeSource / addSource 顺序值。尽管数据库数据没有更改,这可以帮助您通知观察者。

Goodle样本中的NetworkBoundResource类中使用的近似值。尽管它在Kotlin中,但也许您可以在GitHub上找到类似的Java版本。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。