lawlorslaw
02/16/2020, 1:53 AM@Parcelize
annotation on a class
https://android.jlelse.eu/yet-another-awesome-kotlin-feature-parcelize-5439718ba220
i tried this but it doesnt recognize the import .
import kotlinx.android.parcel.Parcelize
and i did a gradle sync after adding
android{
androidExtensions {
experimental = true
}
}
Anastasia Finogenova
02/16/2020, 2:16 AMlawlorslaw
02/16/2020, 3:26 AM1.3.61
Anastasia Finogenova
02/16/2020, 3:33 AMlawlorslaw
02/16/2020, 3:33 AMAnastasia Finogenova
02/16/2020, 3:34 AMlawlorslaw
02/16/2020, 3:34 AMsealed class DifficultyLevel(
val columnCount: Int,
val rowCount: Int,
val flagsCount: Int,
val minesCount: Int) : Parcelable {
class Easy() : DifficultyLevel(10, 10, 10, 10) {
constructor(parcel: Parcel) : this()
override fun writeToParcel(parcel: Parcel, flags: Int) {
super.writeToParcel(parcel, flags)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<Easy> {
override fun createFromParcel(parcel: Parcel): Easy {
return Easy(parcel)
}
override fun newArray(size: Int): Array<Easy?> {
return arrayOfNulls(size)
}
}
}
class Medium() : DifficultyLevel(13, 13, 23, 23) {
constructor(parcel: Parcel) : this() {
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
super.writeToParcel(parcel, flags)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<Medium> {
override fun createFromParcel(parcel: Parcel): Medium {
return Medium(parcel)
}
override fun newArray(size: Int): Array<Medium?> {
return arrayOfNulls(size)
}
}
}
class Hard() : DifficultyLevel(16, 16, 69, 69) {
constructor(parcel: Parcel) : this() {
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
super.writeToParcel(parcel, flags)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<Hard> {
override fun createFromParcel(parcel: Parcel): Hard {
return Hard(parcel)
}
override fun newArray(size: Int): Array<Hard?> {
return arrayOfNulls(size)
}
}
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeInt(columnCount)
parcel.writeInt(rowCount)
parcel.writeInt(flagsCount)
parcel.writeInt(minesCount)
}
}
build.gradle
file
apply plugin: 'kotlin-android-extensions'
androidExtensions {
experimental = true
}
Anastasia Finogenova
02/16/2020, 4:59 AMlawlorslaw
02/16/2020, 5:33 AMapply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
i had it in reverse which is why it wasnt workingAnastasia Finogenova
02/16/2020, 5:23 PMlawlorslaw
02/16/2020, 11:09 PM