Why do I get ‘does not implement abstract member’ warning while using kotlinx.android.parcel.Parcelize?
Asked Answered
T

4

8

I am getting this error while trying to read the bundle from another fragment where I am sending the NewVehicle object.

Error : Class 'NewVehicle' is not abstract and does not implement abstract member public abstract fun describeContents(): Int defined in android.os.Parcelable

NewVehicle.kt

import android.os.Parcelable
import com.google.gson.annotations.SerializedName
import kotlinx.android.parcel.Parcelize

@Parcelize
data class NewVehicle(
    @SerializedName("av_se")
    val avSe: String,
    .....
    @SerializedName("vh_ob")
    val vhOb: String,
    @SerializedName("zo_in")
    val zoIn: String
):Parcelable{}
Thermodynamic answered 12/1, 2021 at 17:50 Comment(0)
T
3

I got it resolved by adding this in my build.gradle(app) inside the android block.

androidExtensions {
    experimental = true
}
Thermodynamic answered 12/1, 2021 at 18:15 Comment(1)
Last changed: androidExtensions { isExperimental = true }Antipas
A
18

In my case I forgot to add apply plugin: 'kotlin-parcelize' in gradle

Armanda answered 6/6, 2021 at 21:10 Comment(1)
And which gradle file would I throw this in? Gotta be more specific than that.Grandparent
E
7

In my case just apply these plugins in this order:

Make sure that you call kotlin-parcelize first then kotlin-kapt

plugins {
    id 'kotlin-parcelize'
    id 'kotlin-kapt'    
}
Emancipated answered 23/7, 2022 at 5:10 Comment(0)
T
3

I got it resolved by adding this in my build.gradle(app) inside the android block.

androidExtensions {
    experimental = true
}
Thermodynamic answered 12/1, 2021 at 18:15 Comment(1)
Last changed: androidExtensions { isExperimental = true }Antipas
A
-7

Please remove {} after Parcelable.

@Parcelize
data class NewVehicle(
    @SerializedName("av_se")
    val avSe: String,
    .....
    @SerializedName("vh_ob")
    val vhOb: String,
    @SerializedName("zo_in")
   val zoIn: String
): Parcelable
Apodictic answered 12/1, 2021 at 17:53 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.