Android @RawValue注释不适用于目标值参数
我正在尝试对数据类进行Android @RawValue注释不适用于目标值参数,android,kotlin,Android,Kotlin,我正在尝试对数据类进行打包。 它包含一个参数: var tokenType: Any? = null 对于此变量,编译器在编译时抱怨: Type is not directly supported by Parcelize. Annotate the parameter with @RawValue if you want it to be serialized via writeValue() 虽然错误是不言自明的,但当我添加@RawValue时,如下所示: @RawValue var
打包。
它包含一个参数:
var tokenType: Any? = null
对于此变量,编译器在编译时抱怨:
Type is not directly supported by Parcelize.
Annotate the parameter with @RawValue if you want it to be serialized via
writeValue()
虽然错误是不言自明的,但当我添加@RawValue时,如下所示:
@RawValue var tokenType: Any? = null
它给出了一个错误:
This annotation is not applicable to the target value parameter
关于如何处理这个问题,有什么提示吗?我从Kotlang社区得到了这个问题的答案。
答案是您不能对变量本身进行注释
但您必须对其类型进行注释
因此,以以下方式进行注释将删除错误:
var tokenType: @RawValue Any? = null
尽管如此,不要忘记手动为此属性编写序列化器/反序列化器,因为它不会自动完成
希望有帮助。看到这个答案后,我立即意识到目标注释的含义,谢谢!如何为Any类型编写序列化器/反序列化器?@Beast77请使用普通的writeToParcel和readFromParcel方法,与不使用Parcelize关键字的方法相同。@Tarun为什么要使用Parcelize?