android - 在 Realm `addchangelistener` 中知道元素在哪个位置被插入/更新/删除?
问题描述
在 Realmaddchangelistener
中,我们可以知道哪个position
列表发生了变化,元素是否inserted/updated/removed
从列表中获取?
解决方案
我们能知道哪个位置列表发生了变化
是的
private RealmResults<Obj> results;
private OrderedRealmCollectionChangeListener<RealmResults<Obj>> changeListener = new OrderedRealmCollectionChangeListener<RealmResults<Obj>>() {
@Override
public void onChange(RealmResults<Obj> results, OrderedCollectionChangeSet changeSet) {
String insertions = changeSet.getInsertions().length == 0 ? "" : "\n - Insertions: " + Arrays.toString(changeSet.getInsertions());
String deletions = changeSet.getDeletions().length == 0 ? "" : "\n - Deletions: " + Arrays.toString(changeSet.getDeletions());
String changes = changeSet.getChanges().length == 0 ? "" : "\n - Changes: " + Arrays.toString(changeSet.getChanges());
showStatus("Obj was loaded, or written to. " + insertions + deletions + changes);
}
};
public void ...() {
results = realm.where(Obj.class)...findAllAsync();
results.addChangeListener(changeListener);
推荐阅读
- java - Spring ScheduledTasks没有触发
- java - 如果公钥的算法是 EC,如何在 Java 中验证签名?
- sockets - 使用 Ada 套接字的 TCP/IP:如何正确完成数据包?
- java - Eclipse+Tomcat 7下webservice拒绝运行返回404
- java - 如何使用参数屏蔽除 Java 中的最后 4 个字符之外的所有字符串字符?
- r - 在 r 中绘制无边界(如 hist)
- python - 错误日志 PythonAnywhereDjango Python PythonAnywhere
- javascript - 如何使用 Material 制作滑动式导航抽屉
- reactjs - 使用 React Hooks 显示和隐藏子菜单
- outlook - 如何为非托管 EWS API 实施 Exchange Online OAuth2.0?