Android 如何从另一个realmList中的realmList获取所有realmObjects?

Android 如何从另一个realmList中的realmList获取所有realmObjects?,android,realm,Android,Realm,对不起,如果问题不是很清楚。让我试着在这里发展一下。 这是我的结构 public class User extends RealmObject{ ... RealmList<Tags> userTags; } public class Tags extends RealmObject{ ... RealmList<Results> tagResults; } public class Results extends RealmObject{ ...

对不起,如果问题不是很清楚。让我试着在这里发展一下。 这是我的结构

public class User extends RealmObject{
  ...
  RealmList<Tags> userTags;
}

public class Tags extends RealmObject{
  ...
  RealmList<Results> tagResults;
}

public class Results extends RealmObject{
  ...
}
所需的结果应该是result1、result2、result3、result4

现在我正在手动操作

...
RealmList<Results> tagResults = new RealmList<>;
RealmList<Tags> userTags= user1.getTags();
for (Tags tag : userTags)
{
  tagResults.addAll(tag.getResults());
}
mRealmAdapter = new RealmResultsAdapter(this, tagResults);
。。。
RealmList tagResults=新的RealmList;
RealmList userTags=user1.getTags();
用于(标签:用户标签)
{
tagResults.addAll(tag.getResults());
}
mRealmAdapter=新的RealmResultsAdapter(此为tagResults);
有没有其他方法可以在不手动操作的情况下获得所需的结果


提前感谢

编辑:Realm 3.5.0添加了反向关系,因此您应该这样做:

public class User extends RealmObject{
  ...
  RealmList<Tags> userTags;
}

public class Tags extends RealmObject{
  ...
  @LinkingObjects("userTags")
  private final RealmResults<User> tagOfUsers = null;

  RealmList<Results> tagResults;
}

public class Results extends RealmObject{
  @LinkingObjects("tagResults")
  private final RealmResults<Tags> resultsOfTags = null;

  ...
}
public类用户扩展RealmObject{
...
RealmList用户标签;
}
公共类标记扩展了RealmObject{
...
@链接对象(“用户标签”)
私有最终RealmResults TagoUsers=null;
RealmList tagResults;
}
公共类结果扩展了RealmObject{
@链接对象(“标记结果”)
private final RealmResults resultsOfTags=null;
...
}

RealmResults tags=realm.where(tags.class).equalTo(“tagOfUsers.userId”,userId).findAll();//有结果

3.0.0之前的答案:

由于我们还在等待,我会像这样设置RealmObjects

public class User extends RealmObject{
  ...
  @PrimaryKey
  long id;

  RealmList<Tags> userTags;
}

public class Tags extends RealmObject{
  ...
  @PrimaryKey 
  long id; 

  User user;

  @Index
  long userId;

  RealmList<Results> tagResults;
}

public class Results extends RealmObject {
  User user;

  @Index
  long userId;

  Tags tag;

  @Index
  long tagId;
  ...
}
public类用户扩展RealmObject{
...
@主键
长id;
RealmList用户标签;
}
公共类标记扩展了RealmObject{
...
@主键
长id;
用户;
@索引
长用户标识;
RealmList tagResults;
}
公共类结果扩展了RealmObject{
用户;
@索引
长用户标识;
标签;
@索引
长塔吉德;
...
}
然后

RealmResults results=realm.where(results.class).equalTo(“userId”,userId).findAll();

谢谢您的回答@EpicPandaForce。我也在想类似的事情。遗憾的是,领域团队还没有实现,这将非常方便。再次感谢您的快速回答是的,目前正在进行的是ObjectStore集成,多进程支持,然后是细粒度通知:)就我个人而言,我喜欢一些
RealmList
,之后反向链接会更好是的,我也希望看到RealmList。现在,我正在使用我自己的realmString对象。再次感谢。实际上,Realm 3.5.0添加了反向链接,Realm 4.0.0的
RealmList
将在两周内推出。
RealmResults<Tags> tags = realm.where(Tags.class).equalTo("tagOfUsers.userId", userId).findAll(); // has results
public class User extends RealmObject{
  ...
  @PrimaryKey
  long id;

  RealmList<Tags> userTags;
}

public class Tags extends RealmObject{
  ...
  @PrimaryKey 
  long id; 

  User user;

  @Index
  long userId;

  RealmList<Results> tagResults;
}

public class Results extends RealmObject {
  User user;

  @Index
  long userId;

  Tags tag;

  @Index
  long tagId;
  ...
}
RealmResults<Results> results = realm.where(Results.class).equalTo("userId", userId).findAll();