Java Realm AddChangeListner不工作?

Java Realm AddChangeListner不工作?,java,android,realm,Java,Android,Realm,我有两个类,其中一个类在表中添加数据,另一个类在其中检索数据。我添加了changeListener,但它在表更改后没有执行。下面是代码 RealmResults<MessageContentTable> messageContentTables= realmObject.where(MessageContentTable.class).findAllAsync(); messageContentTables.addChangeListener((collectio

我有两个类,其中一个类在表中添加数据,另一个类在其中检索数据。我添加了changeListener,但它在表更改后没有执行。下面是代码

  RealmResults<MessageContentTable> messageContentTables= 
   realmObject.where(MessageContentTable.class).findAllAsync();
    messageContentTables.addChangeListener((collection, changeSet) -> 
     {
        Log.e("Updating 123"+collection.size());

    });
RealmResults messageContentTables=
realmObject.where(MessageContentTable.class).findalsync();
messageContentTables.addChangeListener((集合,变更集)->
{
Log.e(“更新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());
    });
RealmResults messageContentTables;
公之于众{
messageContentTables=realm.where(MessageContentTable.class).findalsync();
messageContentTables.addChangeListener((集合,变更集)->{
Log.e(“更新123”+collection.size());
});

能否尝试将异步查询转换为同步查询,然后再试一次。