我有从Realm收到的RealmResults
RealmResults<StepEntry> stepEntryResults = realm.where(StepEntry.class).findAll();
现在我想转换RealmResults< StepEntry>到ArrayList< StepEntry>
我试过了
ArrayList<StepEntry> stepEntryArray = new ArrayList<StepEntry>(stepEntryResults));
但是我的ArrayList中的项不是我的StepEntry对象,而是StepEntryRealmProxy
我怎么转换它?
任何帮助或建议将非常感谢.
解决方法:
要急切地从Realm中读取每个元素(并因此使列表中的所有元素都变得不受管理,你可以这样做):
List<StepEntry> arrayListOfUnmanagedObjects = realm.copyFromRealm(realmResults);
但是你通常没有理由这样做,除非你想用GSON序列化对象(特别是因为它用反射而不是用getter读取字段数据),因为Realm的设计方式是列表公开了一个改变监听器,允许您通过观察对数据库所做的更改来保持UI的最新状态.