Как использовать атрибут app: items = @ {viewModel.items} с RecyclerView, MVVM и привязкой данных?

Есть атрибут app:items="" для RecyclerView, как этот атрибут используется с MVVM и android.arch.lifecycle.ViewModel, а не ViewModel, который расширяет BaseObservable? items может быть LiveData, List или ObservableArrayList, с какой коллекцией его следует использовать?


person Thracian    schedule 28.06.2018    source источник
comment
вам нужен BindingAdapter для этого   -  person Blackbelt    schedule 28.06.2018
comment
Разве это невозможно без @BindingAdapter?   -  person Thracian    schedule 28.06.2018
comment
нет, к сожалению, это не так (AFAIK).   -  person Blackbelt    schedule 28.06.2018
comment
Таким образом, мы не можем напрямую привязать коллекцию из ViewModel к RecyclerView. У вас есть ссылка на пример или учебник?   -  person Thracian    schedule 28.06.2018
comment
RV не работает с набором данных. Это его адаптер.   -  person Blackbelt    schedule 28.06.2018
comment
Да, возможно, ты прав. Однако мне показалось, что я где-то видел, что он использовался как app: items = «@ {viewModel.items}», я опубликую исходный код, если это ViewModel из Arch и не использует @BindingAdapter. Спасибо.   -  person Thracian    schedule 28.06.2018
comment
Мне бы очень хотелось это увидеть.   -  person Blackbelt    schedule 28.06.2018
comment
где вы видели эти app:items? такого атрибута нет ни в одной поддерживающей recyclerview-v7 библиотеке   -  person pskink    schedule 28.06.2018
comment
@pskink, я изучаю MVVM и привязку данных около недели. Я ищу подтемы, и я думаю, что видел, что это использовалось в каком-то проекте github, но тогда я не искал этого, поэтому я не уверен. Я поищу его специально и опубликую, если он используется с ViewModel из библиотеки Arch.   -  person Thracian    schedule 28.06.2018
comment
@pskink, да, для RecyclerView есть атрибут app:items, я не уверен, как он используется с MVVM.   -  person Thracian    schedule 28.06.2018
comment
так где это определяется? какой адаптер привязки это реализует? здесь у вас есть адаптеры привязки для стандартных представлений Android, так где же этот адаптер для RecyclerView?   -  person pskink    schedule 28.06.2018
comment
Когда вы вводите элементы для RV в AS, он автоматически заполняет их, однако вы должны импортировать компоненты архитектуры в gradle. Вы должны спросить Blackbelt, как он используется с @BindingAdapter. Я спрашиваю, можно ли использовать с ViewModel.   -  person Thracian    schedule 28.06.2018
comment
Готов поспорить, вы могли бы получить items в автозаполнении и для TextView, так что ...   -  person pskink    schedule 28.06.2018
comment
Да ты прав. Я вижу это и для других представлений в проекте с компонентами арки, иначе он не отображается. Я нашел проект github.com/evant/binding-collection-adapter. Я изучу это   -  person Thracian    schedule 28.06.2018
comment
Позвольте нам продолжить это обсуждение в чате.   -  person Thracian    schedule 28.06.2018