Parcelize annotation в AIDL: несовместимые типы: объект не может быть преобразован в MyCustomObject - PullRequest
0 голосов
/ 08 июня 2018

Я переписываю свой класс модели в 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 дней без единого комментария я создал билет на этот вопрос .

1 Ответ

0 голосов
/ 30 июля 2018

Это ошибка в Kotlin, поэтому я перенаправил эту проблему в JetBrains.Вы можете отслеживать это здесь: KT-25807 .

Это происходит, потому что createFromParcel() не возвращает класс T, но Object.

Я будуобновите ответ после обновления источника.

...