Asad
Asad

Reputation: 357

RealmList of String Type in Android

I'm using Realm for Local storage in Android. I'm getting following response form server.

[{
    "ListId": 10,
    "Names": ["Name1", "Name2", "Name3", "Name4"]
}]

Here is my Model

   public class Model extends RealmObject {

    private int ListId;
    private RealmList<String> Names = new RealmList<String>()

    public int getListId() {
        return ListId;
    }

    public void setListId(int listId) {
        ListId = listId;
    }

    public RealmList<String> getNames() {
        return Names;
    }

    public void setNames(RealmList<String> names) {
        Names = names;
    }

}

And I'm getting this for ArrayList

Type parameter 'java.lang.String' is not within its bound; should extend 'io.realm.RealmObject'.

Thanks.

Upvotes: 12

Views: 22103

Answers (3)

Yayo Arellano
Yayo Arellano

Reputation: 3866

Realm version 4.0.0 will add support for RealmList that can contain String, byte[], Boolean, Long, Integer, Short, Byte, Double, Float and Date values.

Please refer to this pull request:

https://github.com/realm/realm-java/pull/5031

And the realm changelog:

https://github.com/realm/realm-java/blob/master/CHANGELOG.md

Upvotes: 8

Hunain
Hunain

Reputation: 396

yes it is limitation from realm, you can't create array or list of strings, Please refer to the following link

https://github.com/realm/realm-java/issues/575

Upvotes: 1

Christian Melchior
Christian Melchior

Reputation: 20126

RealmLists doesn't support simple strings yet. so you have to wrap each String into its own object:

You can see a work-around here: Gson deserialization of List<String> into realmList<RealmString>

or here: https://realm.io/docs/java/latest/#primitive-lists

Upvotes: 14

Related Questions