Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to convert RealmResults<Object> to List<Object>

Tags:

android

realm

I have RealmResults that I receive from Realm like

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

Now I want convert RealmResults<StepEntry> to ArrayList<StepEntry>

I have try

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

but the item in my ArrayList is not my StepEntry object, it is StepEntryRealmProxy enter image description here

How can I convert it? Any help or suggestion would be great appreciated.

like image 378
Linh Avatar asked Nov 23 '16 07:11

Linh


1 Answers

To eagerly read every element from the Realm (and therefore make all elements in the list become unmanaged, you can do):

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

But you generally have absolutely no reason to do that unless you want to serialize the objects with GSON (specifically, because it reads field data with reflection rather than with getters), because Realm was designed in such a way that the list exposes a change listener, allowing you to keep your UI up to date just by observing changes made to the database.

like image 100
EpicPandaForce Avatar answered Sep 28 '22 12:09

EpicPandaForce