我有一个对象
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();
我需要做什么才能获得一系列对象?
答案 0 :(得分:26)
最简单的转换为java ArrayList:
SELECT *
FROM `user` u
WHERE EXISTS (SELECT 1 FROM `user_detail` ud WHERE id='1' AND ud.user_age_list = u.user_age)
答案 1 :(得分:16)
List<ArticleList> unmanagedList = realm.copyFromRealm(results);
会这样做。
答案 2 :(得分:10)
RealmResults
有一个toArray()
方法 - 也是toArray(T[] contents)
(请注意RealmResults
继承链)。您可以按如下方式使用这些:
ArticleList[] resultArray = (ArticleList[]) results.toArray();
或者
ArticleList[] resultArray = results.toArray(new ArticleList[results.size()]);
理想情况下,您需要使用RealmResults
。这样,您就可以获得"free" updates数据,以及List
的所有便利。
答案 3 :(得分:2)
您应该从https://github.com/realm/realm-android-adapters扩展抽象的RealmBaseAdapter类,而不是尝试转换为数组,以使结果保持同步。
Realm提供了这些类作为如何使用RecyclerView或ListView创建自动更新列表的示例。