Как разделить значение с типом Any? используя @Parcelize

Я столкнулся с проблемой при попытке указать значение типа Any? в посылку. Я использую @Parcelize из kotlinx.android.parcel. Lint предупреждает меня и намекает сообщением добавить @RawValue, но это не помогает. Я получил:

android.os.BadParcelableException: ClassNotFoundException при десортировке

Мой класс данных:

@Parcelize
    data class FormulaNode(
            val term: @RawValue Any? = null,
            val operator: String? = null,
            val left: FormulaNode? = null,
            val right: FormulaNode? = null) : Parcelable

person Skullper    schedule 02.11.2018    source источник
comment
Вы не можете посылать то, что не может быть отправлено. Поэтому вместо Any используйте Parcelable.   -  person tynn    schedule 02.11.2018
comment
@tynn Но мне нужно что-то вроде Any, потому что term может быть String или FormulaNode одновременно   -  person Skullper    schedule 02.11.2018
comment
@tynn Хорошо, я попробую этот подход   -  person Skullper    schedule 02.11.2018
comment
@tynn В моем случае это не работает, но спасибо за помощь   -  person Skullper    schedule 02.11.2018
comment
@Skullper есть какое-нибудь решение?   -  person Jithish P N    schedule 07.02.2019
comment
@JithishPN ага, я начал сам складывать в посылку и получать оттуда, с несколькими проверками. Это было единственное решение, которое я нашел в своем случае   -  person Skullper    schedule 07.02.2019
comment
@Skullper, пожалуйста, поделитесь реферальными ссылками, чтобы сделать посылку в Котлине?   -  person Jithish P N    schedule 07.02.2019
comment
@JithishPN У меня нет ссылок, это было мое решение. Вам нужно реализовать посылки самостоятельно без @Parcelize.   -  person Skullper    schedule 07.02.2019
comment
@Skullper нашел решение. если необработанное значение (любое) является пользовательским классом, реализуйте собственный класс, также Parcelable решит проблему.   -  person Jithish P N    schedule 07.02.2019


Ответы (1)


Следуйте этому ответу: https://stackoverflow.com/a/49606439/5857685

var tokenType: @RawValue Any? = null
person João Eudes Lima    schedule 27.08.2020