尝试使存储 ObservableArrayList 的对象扩展 RealmObject,但 Android 项目无法编译

Trying to make an object that stores an ObservableArrayList extend RealmObject, but Android project does not compile

我有一个这样的对象:

public class SubredditAddition extends RealmObject {

    @PrimaryKey
    private String mSubredditName;

    private ObservableArrayList<Keyword> mKeywords = new ObservableArrayList<>();
}

当我尝试编译程序时,Gradle 出现以下错误:

Error:(13, 8) error: Field "mKeywords" of type "android.databinding.ObservableArrayList<Keyword>" is not supported.

Warning:Unclosed files for the types '[io.realm.SubredditAdditionRealmProxy]'; these types will not undergo annotation processing

有什么方法可以在领域中存储 ObservableArrayList 吗?

您不能在任何领域对象中使用 ObservableArrayList 或 ArrayList 或任何 java 集合。

您必须使用 RealmList 而不是 ObservableArrayList。

还要确保关键字不能在内部 class(必须在 SubredditAddition 的范围之外)并扩展 RealmObject

修复了它会创建一个空的 class,如下所示:

public class RealmObservableArrayList<T> extends ObservableArrayList implements RealmModel {

}