IllegalStateException: parcel.readString () no debe ser nulo

Puse el object Parcelable en Intent a la siguiente Activity :

 val intent = Intent(mContext, ShowTestActivity::class.java) intent.putExtra("test", test) Log.d("myLog", "${intent.getParcelableExtra<Test>("test")}") // No problem mContext.startActivity(intent) 

Y consigue este object en la siguiente Activity :

 if (!intent.hasExtra("test")) throw Exception("Intent doesn't has 'test' extra") val test: Test = intent.getParcelableExtra("test") 

Y aquí están arrojando Excepción:

 public open class QBase(): Parcelable { ... protected constructor(parcel: Parcel?) : this() { parcel?.let { question = parcel.readString() // parcel.readString() must not be null helpText = parcel.readString() qValue = parcel.readDouble() qType = QType.valueOf(parcel.readString()) } } override fun writeToParcel(parcel: Parcel, flags: Int) { parcel.writeString(question) parcel.writeString(helpText) parcel.writeDouble(qValue) parcel.writeString(qType.name) } ... } 

Y en testing:

 public class Test(): Parcelable { ... public var questions: ArrayList<QBase> = ArrayList() constructor(parcel: Parcel?): this() { parcel?.let { ... parcel.readTypedList(questions, QBase.CREATOR) } } override fun writeToParcel(p: Parcel?, p1: Int) { p?.let { ... it.writeTypedList(questions) } } ... } 

Es una exception:

Causado por: java.lang.IllegalStateException: parcel.readString () no debe ser nulo en com.vadim.hasdfa.justlearn.Model.Questions.utils.QBase. (QBase.kt: 22) at com.vadim.hasdfa.justlearn .Model.Questions.utils.QBase $ CREATOR.createFromParcel (QBase.kt: 70) en com.vadim.hasdfa.justlearn.Model.Questions.utils.QBase $ CREATOR.createFromParcel (QBase.kt: 68) en android.os .Parcel.readTypedList (Parcel.java:2432) en com.vadim.hasdfa.justlearn.Model.Test. (Test.kt: 28) en com.vadim.hasdfa.justlearn.Model.Test $ CREATOR.createFromParcel (Test. kt: 47) en com.vadim.hasdfa.justlearn.Model.Test $ CREATOR.createFromParcel (Test.kt: 45) en android.os.Parcel.readParcelable (Parcel.java:2787) en android.os.Parcel.readValue (Parcel.java:2681) en android.os.Parcel.readArrayMapInternal (Parcel.java:3048) en android.os.BaseBundle.unparcel (BaseBundle.java:257) en android.os.BaseBundle.containsKey (BaseBundle.java: 435) en android.content.Intent.hasExtra (Intent.java:6859) en com.vadim.hasdfa.justlearn.Controller.Activity.BrowseTest.Sh owTestActivity.onCreate (ShowTestActivity.kt: 28) en android.app.Activity.performCreate (Activity.java:6980) en android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1213) en android.app.ActivityThread.performLaunchActivity (ActivityThread .java: 2770) en android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2892) en android.app.ActivityThread.-wrap11 (Fuente desconocida: 0) en android.app.ActivityThread $ H.handleMessage (ActivityThread.java: 1593) en android.os.Handler.dispatchMessage (Handler.java:105) en android.os.Looper.loop (Looper.java:164) en android.app.ActivityThread.main (ActivityThread.java:6540) en java. lang.reflect.Method.invoke (Método nativo) en com.android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:240) en com.android.internal.os.ZygoteInit.main (ZygoteInit.java:767 )