Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android @RawValue注释不适用于目标值参数_Android_Kotlin - Fatal编程技术网

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?