2

我正在阅读有关观察查询的文档。

Query<Task> query = taskBox.query().equal(Task_.completed, false).build();
subscription = query.subscribe().observer(data -> updateUi(data));

据我了解,此代码每次都会返回所有数据。但是要让 RecyclerView 添加/删除动画起作用,我们需要知道哪些数据发生了变化,我们需要知道数据发生了什么样的变化(删除/更改/添加)。

无论如何只能获取更改的数据吗?

4

1 回答 1

0

定义更改不是 ObjectBox 的责任。在 android 中有DiffUtil负责。如果你用谷歌搜索你可以找到大量的例子(例如sample)。如果您的列表包含大量项目或项目很胖(包含数十个字段),则唯一的建议是将 DiffUtil 有效负载放入后台线程。

于 2018-03-24T18:07:36.927 回答