To use Parcelable, I had followed this release of Kotlin 1.1.4 : https://blog.jetbrains.com/kotlin/2017/08/kotlin-1-1-4-is-out/
Add this line in project
androidExtensions {
experimental = true
}
Then define a class :
@Parcelize
class User(val firstName: String, val lastName: String) : Parcelable
The writeToParcel() and createFromParcel() methods are created automatically
override fun writeToParcel(parcel: Parcel, flags: Int) {
...
}
but still have an error in 'override' keyword with message
OVERRIDING_WRITE_TO_PARCEL_IS_NOT_ALLOWED: Overriding 'writeToParcel' is not allowed. Use 'Parceler' companion object instead
Can you show me the right way?
Edit : Does only properties defined in default constructor will be add to Parcel, and other is not? I see this warning in this class.
PROPERTY_WONT_BE_SERIALIZED: Property would not be serialized into a 'Parcel'. Add '@Transient' annotation to remove the warning