我有两个类,一个类在表中添加数据,另一个类在其中检索数据。我添加了changeListener,但是在更改表后它没有执行。下面是代码
RealmResults<MessageContentTable> messageContentTables=
realmObject.where(MessageContentTable.class).findAllAsync();
messageContentTables.addChangeListener((collection, changeSet) ->
{
Log.e("Updating 123"+collection.size());
});
最佳答案
您需要将字段变量(强引用)存储到RealmResults中,否则垃圾收集器将使用它,并且Realm将不再能够调用更改侦听器。
RealmResults<MessageContentTable> messageContentTables;
public void something() {
messageContentTables = realm.where(MessageContentTable.class).findAllAsync();
messageContentTables.addChangeListener((collection, changeSet) -> {
Log.e("Updating 123"+collection.size());
});
关于java - Realm AddChangeListner无法正常工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44870353/