android – 如何将RealmResults转换为List

我有从Realm收到的RealmResults

RealmResults<StepEntry> stepEntryResults = realm.where(StepEntry.class).findAll();

现在我想转换RealmResults< StepEntry>到ArrayList< StepEntry>

我试过了

 ArrayList<StepEntry> stepEntryArray = new ArrayList<StepEntry>(stepEntryResults));

但是我的ArrayList中的项不是我的StepEntry对象,而是StepEntryRealmProxy
android  – 如何将RealmResults转换为List

我怎么转换它?
任何帮助或建议将非常感谢.

解决方法:

要急切地从Realm中读取每个元素(并因此使列表中的所有元素都变得不受管理,你可以这样做):

 List<StepEntry> arrayListOfUnmanagedObjects = realm.copyFromRealm(realmResults);

但是你通常没有理由这样做,除非你想用GSON序列化对象(特别是因为它用反射而不是用getter读取字段数据),因为Realm的设计方式是列表公开了一个改变监听器,允许您通过观察对数据库所做的更改来保持UI的最新状态.

上一篇:android – 如何安装域作为gradle依赖?


下一篇:android – Realm异常’value’不是有效的托管对象