2017-10-01 8 views
1

j'ai un objet comme ceci:Essayer de faire un objet qui stocke une ObservableArrayList extension RealmObject, mais projet Android ne compile pas

public class SubredditAddition extends RealmObject { 

    @PrimaryKey 
    private String mSubredditName; 

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

Lorsque je tente de compiler le programme, je reçois l'erreur suivante de 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 

Est-il possible de stocker une ObservableArrayList dans le domaine?

+2

Grande question, je le même problème – nikolaevra

+0

Vous pouvez voir le journal des erreurs ci-dessus: 'ObservableArrayList " n'est pas supporté. "Si vous voulez utiliser ArrayList à l'intérieur de RealmObject, vous pouvez utiliser' RealmList.' –

Répondre

0

fixe, il se crée une classe vide comme ceci:

public class RealmObservableArrayList<T> extends ObservableArrayList implements RealmModel { 

} 
0

Vous ne pouvez pas utiliser ObservableArrayList ou ArrayList ou toute collection java dans un objet de domaine.

Vous devez utiliser RealmList au lieu de ObservableArrayList.

Alos assurez-vous que les mots-clés ne doit pas être classe interne (doit être portée à l'extérieur de SubredditAddition) et étend RealmObject