Yur*_*ets 9 android parcelable aidl kotlin kotlin-android-extensions
我正在重写我的模型类Kotlin,必须在以下方面Parcelable使用AIDL:
@Parcelize
data class MyCustomObject(val value1: String, val value2: String) : Parcelable
Run Code Online (Sandbox Code Playgroud)
在编译期间,它崩溃并出现错误:
错误:不兼容的类型:对象无法转换为MyCustomObject
并在生成的代码中指向此行:
if ((0!=_reply.readInt())) {
_result = com.mypackagename.MyCustomObject.CREATOR.createFromParcel(_reply);
}
Run Code Online (Sandbox Code Playgroud)
我使用这个注释用于其他目的并且没关系,只有在AIDL中我发现到目前为止不匹配.
有什么想法有什么不对吗?
这是 Kotlin 中的一个错误,所以我将此问题重定向到 JetBrains。您可以在此处跟踪它:KT-25807。
发生这种情况,因为createFromParcel()不返回 class T,而是Object.
UPD
Parcelize 注释现在可由 Google 维护,该问题已在 kotlin 1.5 版中修复。+ https://issuetracker.google.com/issues/110131003
| 归档时间: |
|
| 查看次数: |
606 次 |
| 最近记录: |