私はKotlinを使い始めており、セカンダリコンストラクタのパラメータとして文字列のリストを受け取るパーセルブルオブジェクトを実装しようとしています。しかし、私はエラーを取得しています:ここKotlinでパラメータとしてリストを受け取るセカンダリコンストラクタを持つParcelableクラスを作成する
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メソッドには文字列リストパラメータが必要です。この問題を解決するにはどうすればよいですか?これは私の設計の問題ですか?コンストラクターパラメーターとしてリストを取っているのですか?
多くの意味があります。これを試みます。 – alexm