Читать список из Parcelable в конструкторе Kotlin Android - PullRequest
0 голосов
/ 12 февраля 2019

Я хочу в основном прочитать список списка из конструктора Parcel in Kotlin, мой класс структурирован так:

data class Sports(
    var media: List<List<MediaObject>>?,
    var likes: Int) : Parcelable {
constructor(parcel: Parcel) : this(
        TODO("media"),
        parcel.readInt(),
)

override fun writeToParcel(parcel: Parcel, flags: Int) {
    if (media == null || media!!.isEmpty()) {
        parcel.writeInt(0)
    } else {
        parcel.writeInt(media!!.size)
        for (mediaObjects in media!!) {
            parcel.writeTypedList(mediaObjects)
        }
    }
    parcel.writeInt(likes)
}

override fun describeContents(): Int {
    return 0
}

companion object CREATOR : Parcelable.Creator<Sports> {
    override fun createFromParcel(parcel: Parcel): Sports {
        return Sports(parcel)
    }

    override fun newArray(size: Int): Array<Sports?> {
        return arrayOfNulls(size)
    }
}}

У меня есть List<List<MediaObject>>, который я хочу прочитать из посылкиКак мы можем достичь этого, я думаю, у нас могут быть некоторые встроенные функции, но не знаете, как мы это сделаем?

Kotlin автоматически добавляет TODO, если его объект типа List<List<>>.

1 Ответ

0 голосов
/ 12 февраля 2019

В Kotlin 1.1.4 была добавлена ​​поддержка Parcelable с @Parcelize аннотацией

Это более удобный способ справиться с этим

Проверить это:

https://kotlinlang.org/docs/tutorials/android-plugin.html#parcelable

...