我開始使用Kotlin並嘗試實現一個可接受的對象,該對象接收字符串列表作爲輔助構造函數的參數。然而,我發現了錯誤:創建一個Parcelable類與一個輔助構造函數,該函數將一個列表作爲Kotlin中的參數
Cannot access '< this >' before super class constructor has been called
這裏是我的代碼:
class StringChecker(val stringList : List<String>) : Parcelable {
var mStringList = stringList
constructor(parcel: Parcel) : this(parcel.readStringList(mStringList))
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeStringList(mStringList)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<StringChecker> {
override fun createFromParcel(parcel: Parcel): StringChecker {
return StringChecker(parcel)
}
override fun newArray(size: Int): Array<StringChecker?> {
return arrayOfNulls(size)
}
}
}
我明白,我不能創建對象之前調用成員變量mStringList和那當然是有道理的,但是readStringList方法需要一個字符串列表參數。我該如何解決這個問題?這是我的設計parcelable vs採取list作爲構造參數的問題?
它很有意義。會試試這個。 – alexm