Realm Android – 如何将RealmResults转换为对象数组?

我有一个对象

public class ArticleList extends RealmObject { @PrimaryKey private String id; private String title; private String subtitle; private String image; private String category; } 

我想要做的是从Realm中获取结果,并将结果转换为ArticleList[]

取我用

 RealmResults<ArticleList> results = realm.where(ArticleList.class).equalTo("category", "CategoryName").findAll(); 

接下来我需要做些什么来获得一组对象?

Solutions Collecting From Web of "Realm Android – 如何将RealmResults转换为对象数组?"

RealmResults有一个toArray()方法 – 也是toArray(T[] contents) (注意RealmResultsinheritance链)。 你可以使用这些如下:

 ArticleList[] resultArray = (ArticleList[]) results.toArray(); 

要么

 ArticleList[] resultArray = results.toArray(new ArticleList[results.size()]); 

理想情况下,你想要使用RealmResults 。 这使您可以免费更新您的数据,以及List所有便利。

最简单的转换成java ArrayList:

  ArrayList<People> list = new ArrayList(mRealm.where(People.class).findAll()); 
 List<ArticleList> unmanagedList = realm.copyFromRealm(results); 

会做的。

您应该从https://github.com/realm/realm-android-adapters扩展抽象RealmBaseAdapter类,而不是尝试转换为数组,以保持结果同步&#x3002;

Realm提供这些类作为如何使用RecyclerView或ListView创build自动更新列表的示例。