4

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{}
Sweta Jain
  • 3,248
  • 6
  • 30
  • 50

4 Answers4

11

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

Sergey
  • 113
  • 1
  • 5
3

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

androidExtensions {
    experimental = true
}
Sweta Jain
  • 3,248
  • 6
  • 30
  • 50
1

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'    
}
Marawan Mamdouh
  • 584
  • 1
  • 6
  • 15
-5

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
Daniel.Wang
  • 2,242
  • 2
  • 9
  • 27