我正在尝试将一个列表视图与一个 Realm 表格链接起来,因此当表格中添加一个项目时,列表视图应该被更新。问题在于,当添加项目时,RealmChangeListener 没有被调用。
Realm real = RealmController.getInstance(getContext()); // Singleton
RealmResults<Friend> friends = real.where(Friend.class).findAllAsync();
friends.addChangeListener(callback);
RealmChangeListener<RealmResults<Friend>> callback=new RealmChangeListener<RealmResults<Friend>>() {
@Override
public void onChange(RealmResults<Friend> element) {
// This is only called on async completed but not later
}
};
保存过程在Retrofit响应中完成:
new MyService(context).userService().getFriends().enqueue(new Callback<FriendResponse>() {
@Override
public void onResponse(Call<FriendResponse> call, Response<FriendResponse> response) {
Realm realm = RealmController.getInstance(context); // singleton
realm.beginTransaction();
realm.copyToRealmOrUpdate(response.body().friends);
realm.commitTransaction();
}
@Override
public void onFailure(Call<AllInfoResponse> call, Throwable t) {
}
});
你知道发生了什么吗?有什么建议吗?