领域版本:2.1.1
我有一个片段,其中onCreate()
我注册了RealmChangeListener
。但是,当我的对象更新后,RealmChangeListener
的{{1}}永远不会触发。
实际上,这是一个谎言,由于一些奇怪的原因,如果我清理安装我的应用程序它将工作几次之前根本不工作,直到我再次卸载/重新安装应用程序。
我知道我的onChange()
操作正在写入Realm
,因为如果我重新启动应用程序,UI肯定会显示这些新的更改。不知道为什么听众会注销?
在这里感到有些困惑,我希望我没有做错事:
Realm
答案 0 :(得分:2)
您的问题可能是您实际上未保留对User
对象的强引用。
public class ProfileFragment extends Fragment {
private Realm mRealm;
private RealmChangeListener mRealmChangeListener;
private User user;
...
// Get user from Realm
RealmQuery<User> query = mRealm.where(User.class);
user = query.findFirst();
此外,您处于片段中,因此您应该考虑将onCreate()
/ onDestroy()
移至onCreateView()
和onDestroyView()
(除非这是保留的片段) ,在这种情况下继续)。
如果问题仍然存在,请在此处报告。