Android Data Binding : Observable List to RecyclerView's Adapter

MHogge picture MHogge · Dec 1, 2015 · Viewed 11k times · Source

Is their a way, by using the ObservableList class from the new Data Binding library and the MVVM pattern, to avoid using "notifyItem(s)..." methods from the Adapter class?

Or if not what could be the simpliest way to bind an ObservableList to a RecyclerView?

Thank's for any clue !

Answer

dthulke picture dthulke · Dec 15, 2015

Have a look at following implementation of the RecyclerView's adapter:

https://github.com/radzio/android-data-binding-recyclerview/blob/master/recyclerview-binding/src/main/java/net/droidlabs/mvvm/recyclerview/adapter/BindingRecyclerViewAdapter.java

It automatically notifies the recycler view if the OnListChangedCallback is called.

Also have a look at the rest of the repository. It shows how to bind your ObervableList to the adapter using xml. So that you can have something like this:

app:items="@{usersViewModel.users}"