如果你在创建kotlin项目中没有自动引入kotlin-android-extensions那么是不可以使用 Parcelize注解的.
不过现在创建的kotlin项目一般都不会自动引入了.因为直接使用id去读取控件是会有额外的开销.所以官方已经不推荐这种写法了.
回归正题,如果你没有引入这个kotlin-android-extensions,你还要去使用Parcelize注解,那么就需要引入另一个kotlin-parcelize,但是前提你kt的编译版本为1.4.20.,如果是之前的版本,引入’kotlin-parcelize’则会报错的
使用写法很简单,如下
@Parcelize
data class WhiteListData(
var a: String,
var b: String,
var c: String
) : Parcelable
额外要注意的是
kotlin-android-extensions
kotlin-parcelize
这两个不可以同时引入,否则会报以下错误
'kotlin-parcelize' can't be applied together with 'kotlin-android-extensions'