Как интегрировать встроенный класс Kotlin с привязкой данных Android? - PullRequest
0 голосов
/ 11 января 2019

Kotlin представил встроенный класс , который является псевдонимом строго типизированного типа. Это может быть полезно при использовании с базой данных. Например,

inline class Age(val value: Int)
inline class Height(val value: Int)

Когда они записываются в базу данных, они компилируются в Int, но Kotlin может помешать вам случайно поместить Height в Age Поле. Если вы используете псевдоним типа или Int напрямую, это возможно с псевдонимом типа, но встроенный класс выдает ошибку времени компиляции.

Однако это также вызывает проблемы с привязкой данных Android. Я получаю data binding error, когда пытаюсь связать встроенный класс String с атрибутом String.

Хотя можно написать несколько типов адаптеров, чтобы обойти это, но это лишает цели использование встроенного класса и непрактично для создания адаптеров для всех встроенных классов.

Я хотел бы спросить, есть ли изящные способы решить эту проблему?

...