【发布时间】:2016-05-23 13:20:06
【问题描述】:
我尝试使用 Realm 和 Rx 复制数据库触发器功能。一旦我发出 RealmList,我会用它做一些事情并保存。遗憾的是,这会导致 Realm 的更改侦听器再次执行,一遍又一遍地发出列表。
虚拟示例:
realm.where(MyRealmObject.class)
.equalTo("state", "new")
.findAll()
.asObservable()
.flatMap(new Func1<RealmResults<MyRealmObject>, Observable<MyRealmObject>>() {
@Override
public Observable<MyRealmObject> call(RealmResults<MyRealmObject> list) {
return Observable.from(list);
}
})
.subscribe(new Action1<MyRealmObject>() {
@Override
public void call(final MyRealmObject object) {
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
// do any realm change
}
});
}
});
一旦我在订阅者中提交事务,新的 RealmList 就会从 observable 中发出。我知道为什么会发生这种情况,我只是不知道如何解决这个问题。
这就引出了我的问题。有什么方法可以在我将更改任何领域的领域复制触发器功能?
【问题讨论】:
标签: android loops triggers realm rx-java