Запечатанный класс оболочки ресурса, ошибка привязки данныхAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Запечатанный класс оболочки ресурса, ошибка привязки данных

Сообщение Anonymous »

У меня возникла небольшая проблема с использованием Resource для упаковки моих данных, я не знаю, как я могу использовать его в своей привязке данных.
Запечатанный класс:

Код: Выделить всё

sealed class Resource {
data class Success(val data: T): Resource()
data class Error(val exception: Throwable): Resource()
object Loading: Resource()
}
У меня есть этот val-продукт: LiveData У меня возникла проблема, поскольку viewModel.product не является NetworkProductDetails, но Resource и мой XML/привязка данных не являются знаю, как это обработать.

Я нашел способ заставить работать, но мне интересно, есть ли более элегантный способ.
Первое Решение:

Код: Выделить всё

viewModel.product.observe(viewLifecycleOwner, Observer { it ->
when(it) {
is Resource.Success -> {
binding.product = it.data
}
}
}
Второе решение:
В моем комментарии.

Подробнее здесь: https://stackoverflow.com/questions/628 ... atabinding
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»