繁体   English   中英

领域数据isValid()为false但可以获取数据

[英]Realm data isValid() false but can get data

我使用Realm在我的项目中存储数据。 我有奇怪的问题。 我的模特:

Class Post extends RealmObject implements Serializable{
  @PrimaryKey
  int id;
  ...
  RealmList<Post> subdata;

  RealmList<Post> getSubdata() {
      return subdata;
  }

}

我经常检查getSubdata() != null && getSubdata().isValid()来使用子数据。 问题是当我检查getSubdata().isValid()返回false ,但我仍然在subdata数据中获取数据。 我不检查isValid时没关系。 文件说的像这样:

/**
     * Checks if the {@link RealmList} is managed by Realm and contains valid data i.e., the {@link io.realm.Realm}
     * instance hasn't been closed.
     *
     * @return {@code true} if still valid to use, {@code false} otherwise or if it's an unmanaged list.
     */
    public boolean isValid() {
        //noinspection SimplifiableIfStatement
        if (realm == null || realm.isClosed()) {
            return false;
        }
        return isAttached();
    }

更新调试:

在此输入图像描述

您的类需要扩展RealmObject。 所以它应该改为:

Class Post extends RealmObject {
  @PrimaryKey
  int id;
  ...
  RealmList<Post> subdata;

  RealmList<Post> getSubdata() {
      return subdata;
  }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM