gpt4 book ai didi

Android Realm ChangeListener 未被触发

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:08 36 5
gpt4 key购买 nike

我有一个未被触发的 Realm 结果更改监听器,这是代码:

final RealmResults<LogEntry> entries = realm.where(LogEntry.class).findAll();

entries.addChangeListener(new RealmChangeListener<RealmResults<LogEntry>>() {
@Override
public void onChange(RealmResults<LogEntry> results) {
Log.v("Testing", "The size is: " + results.size());
}
});

肯定有新东西被添加,我有一个关于 Realm 插入的日志打印出表的新大小,但由于某种原因变化监听器什么都不做?我在这里遗漏了什么吗,它似乎与文档相同。

最佳答案

您需要保留对 entries 的类引用以防止它被 GC 处理:

public MyClass {

private RealmResults<LogEntry> entries;

public void myMethod() {

entries = realm.where(LogEntry.class).findAll();
entries.addChangeListener(new RealmChangeListener<RealmResults<LogEntry>>() {
@Override
public void onChange(RealmResults<LogEntry> results) {
Log.v("Testing", "The size is: " + results.size());
}
});
}
}

关于Android Realm ChangeListener 未被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43174517/

36 5 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com