【问题标题】:Kotlin Add Parcelable implementation for Array of DoubleKotlin 为 Double 数组添加 Parcelable 实现
【发布时间】:2019-10-01 11:54:57
【问题描述】:

我正在尝试添加声明为双精度数组的变量的可打包实现。 当我尝试使用 Android Studio 自动生成此实现时,coordinateskey 保留在 TODO 中:

import android.os.Parcel
import android.os.Parcelable

class PointGeoJson (
    val type: String = "",
    val coordinates: Array<Double> = emptyArray()
) : Parcelable {
    constructor(parcel: Parcel) : this(
        parcel.readString(),
        TODO("coordinates")
    ) {
    }

    override fun writeToParcel(parcel: Parcel, flags: Int) {
        parcel.writeString(type)
    }

    override fun describeContents(): Int {
        return 0
    }

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

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

【问题讨论】:

标签: android kotlin parcelable


【解决方案1】:
import android.os.Parcelable
import kotlinx.android.parcel.Parcelize

@Parcelize
class PointGeoJson(
        val type: String = "",
        val coordinates: Array<Double> = emptyArray()
) : Parcelable

这应该可以正常工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    相关资源
    最近更新 更多