Как отправить RealmList <String>? - PullRequest
       7

Как отправить RealmList <String>?

0 голосов
/ 03 сентября 2018

У меня есть список строк, которые я хочу разделить и затем поместить в Realm.

public class X extends RealmObject ... 

private @SerialName("ha") RealmList<String> list;

public void writeToParcel(Parcel out, int i) {
    //how to do this?  
}

private X(Parcel in) {
    ///how to do this?  
}

Я не уверен, как я могу writeToParcel и readToParcel RealmList?

1 Ответ

0 голосов
/ 03 сентября 2018

Вы можете превратить любую коллекцию в Parcelable, записав ее размер, а затем восстановив ее.

private @SerialName("ha") RealmList<String> list;

public void writeToParcel(Parcel out, int i) {
    out.writeInt(list != null ? 1 : 0);
    if(list != null) {
        out.writeInt(list.size());
        for(String item: list) {
            out.writeString(item);
        }
    }
}

private X(Parcel in) {
    boolean hasList = in.readInt() > 0;
    if(hasList) {
        int size = in.readInt();
        list = new RealmList<String>(size);
        for(int i = 0; i < size; i++) {
            list.add(in.readString());
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...