0

copyFromRealmメソッドを使用して、メモリ内の最初の 10 行または n 行のみを Java リストとして取得したいと考えています。次のように考えてください。

RealmResults<RecentViewItem> results = realm.where(RecentViewItem.class).findAllSorted("updatedAt", Sort.DESCENDING);
// This will load all rows in-memory list
List<RecentViewItem> list = realm.copyFromRealm(results);

// But I want only first n rows without running any loop.

更新: RealmResult は AbstractList を拡張するため -

RealmResults<RecentViewItem> results =
                realm.where(RecentViewItem.class)
                        .findAllSorted("updatedAt", Sort.DESCENDING);
List<RecentViewItem> temp = results.subList(0, maxNoRecentViewItem);   // Still list of RealmProxyObject
List<RecentViewItem> list = realm.copyFromRealm(temp);   // List of RecentViewItem Object
4

0 に答える 0