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 AIDL中的Parcelize注释:不兼容的类型:无法将对象转换为MyCustomObject_Android_Kotlin_Parcelable_Aidl_Kotlin Android Extensions - Fatal编程技术网

Android AIDL中的Parcelize注释:不兼容的类型:无法将对象转换为MyCustomObject

Android AIDL中的Parcelize注释:不兼容的类型:无法将对象转换为MyCustomObject,android,kotlin,parcelable,aidl,kotlin-android-extensions,Android,Kotlin,Parcelable,Aidl,Kotlin Android Extensions,我正在将我的模型类重写为Kotlin,它必须是Parcelable,并在AIDL中使用: @Parcelize data class MyCustomObject(val value1: String, val value2: String) : Parcelable 在编译过程中,它会因错误而崩溃: 错误:不兼容的类型:无法将对象转换为MyCustomObject 并在生成的代码中指向这一行: if ((0!=_reply.readInt())) { _result = com.my

我正在将我的模型类重写为
Kotlin
,它必须是
Parcelable
,并在
AIDL
中使用:

@Parcelize
data class MyCustomObject(val value1: String, val value2: String) : Parcelable
在编译过程中,它会因错误而崩溃:

错误:不兼容的类型:无法将对象转换为MyCustomObject

并在生成的代码中指向这一行:

if ((0!=_reply.readInt())) {
    _result = com.mypackagename.MyCustomObject.CREATOR.createFromParcel(_reply);
}
我将此注释用于其他目的,它还可以,只是在AIDL中我发现不匹配

你知道怎么了吗


编辑:5天后,我没有发表任何评论。

这是Kotlin的一个bug,所以我将此问题重定向到JetBrains。 您可以在此处跟踪它:

这是因为
createFromParcel()
不返回类
T
,而是返回
Object


更新源代码后,我将更新答案。

它是否适用于java?您是否有MyCustomObject.aidl(描述您的数据类的工具?@IvanMilisavljevic,是的,有。我也有object.aidl。对不起,我还在用java,我最好的猜测是parcelable generator和Kotlin数据类有问题。一个愚蠢的建议:你有没有尝试过清理和重建这个项目?@IvanMilisavljevic,是的,用这种方式尝试过。问题在于注释本身。kotlin的样板包也可以很好地使用。AIDL中是否使用了包装的艾滋病解决方案?有同样的问题样板实现的包裹。尽管优先级设置为“高”,但到目前为止,此错误尚未解决。。。