这里是我的工作对象:与子阵列境界查询
public class NavigationMenuModule extends RealmObject implements Parcelable {
@PrimaryKey
public String sectionKey;
public RealmList<ItemModule> modules;
public RealmList<Article> spotlightSponsored;
public RealmList<Article> items;
}
孩子的Article对象:
public class Article extends RealmObject {
@PrimaryKey
public String contentId;
public String leadImageURL;
public String summary;
public String headline;
}
我将如何构建这种境界电话:
- 获取NavigationMenuModule item by sectionKey
- 得到是NavigationMenuModule,该文章的内容识别
以下作品的方法匹配内spotlightSponsored,但我觉得有可能是一个“整洁”的方式:
public static Article getArticle(String sectionKey, String articleId) {
Realm realm = Realm.getDefaultInstance();
NavigationMenuModule navigationMenuModule = realm.where(NavigationMenuModule.class).equalTo("sectionKey", sectionKey).findFirst();
if (navigationMenuModule != null && !navigationMenuModule.spotlightSponsored.isEmpty()) {
for (Article article : navigationMenuModule.spotlightSponsored) {
if (article.getContentId().equals(articleId)) {
Article ret = realm.copyFromRealm(article);
realm.close();
return ret;
}
}
}
realm.close();
return null;
}
这个问题中缺少'Article'类的代码。 – EpicPandaForce
@EpicPandaForce糟糕,现在就做。这是一个非常简单的子类 – Psest328