如何分割Google的Place类?

问题描述 投票:0回答:1

在我的自定义对象中,我有7个属性,其中5个是字符串,并且在构造函数中自动生成,但其他两个没有自动生成。最后两个是类PlaceArrayList<int>

class Spot() : Parcelable{
    private var uid: String? = null
    private var timeFrom: String? = null
    private var timeTo: String? = null
    private var rate: String? = null
    private var description: String? = null
    private var place: Place? = null
    private var days : ArrayList<Int>? = null

    constructor(parcel: Parcel) : this() {
        uid = parcel.readString()
        timeFrom = parcel.readString()
        timeTo = parcel.readString()
        rate = parcel.readString()
        description = parcel.readString()
    }
...

我如何包裹它们?

arraylist kotlin google-places-api parcelable parcel
1个回答
0
投票

有几种方法可以做到这一点。您需要在constructorwriteToParcel方法中为ArrayList和Place Object自己添加代码。

构造函数

constructor(parcel: Parcel) : this() {
        uid = parcel.readString()
        timeFrom = parcel.readString()
        timeTo = parcel.readString()
        rate = parcel.readString()
        description = parcel.readString()

        // Add the below to line of code
        days = parcel.readArrayList(Int::class.java.classLoader) as ArrayList<Int>?
        place = parcel.readParcelable<Place>(Place::class.java.classLoader)
    }

writeToParcel

override fun writeToParcel(parcel: Parcel, flags: Int) {
        parcel.writeString(uid)
        parcel.writeString(timeFrom)
        parcel.writeString(timeTo)
        parcel.writeString(rate)
        parcel.writeString(description)

        // Add the below to line of code
        parcel.writeList(days)
        parcel.writeParcelable(place, flags)

    }

如果我没错,Googles Place类已经是Parcelable,所以这段代码应该可行。

希望能帮助到你!

© www.soinside.com 2019 - 2024. All rights reserved.