0
動作しない私は、以下のような活動でRealmResultsを取得:のonChangeメソッドが
citySceneryBeanRealmResults = realm.where(CitySceneryBean.class).equalTo("cityid", pp.getCurrentCityId()).findAll()
その後、私は別のB活動にRealmObjectを取得し、以下のようなrealmobject RealmChangeListenerを設定します。
bean = realm.where(CitySceneryBean.class).equalTo("id", mVid).findFirst();
bean.addChangeListener(new RealmChangeListener<CitySceneryBean>(){
@Override
public void onChange(CitySceneryBean element) {
Log.i(SceneryDetailActivity.class, "onChange");
noManagedBean = realm.copyFromRealm(element);
refreshData();
}
});
CitySceneryBeanRealmResultsにReamlObject "bean"が含まれていることを確認しました。これはcitySceneryBeanRealmResultsが変更されたときにアクティビティで関連するBeanが更新されたことを確認しましたが、BアクティビティではonChangeメソッドが機能しません。
「呼び出されません」、または「スロー例外」のように「機能しません」。 – Fildor
呼び出されていません! – liujiankun
.addChangeListenerを持つアクティビティのRealmインスタンスをどこで終了しますか?データの変更を行う前にRealmインスタンスを閉じると、コールバックが得られない可能性があります。 –