Skip to content

Instantly share code, notes, and snippets.

@SeongUgJung
Created August 22, 2018 15:46
Show Gist options
  • Save SeongUgJung/798dd3b17578f00b5217cfeee7a77752 to your computer and use it in GitHub Desktop.
Save SeongUgJung/798dd3b17578f00b5217cfeee7a77752 to your computer and use it in GitHub Desktop.
recycler adapter and data
@BindingAdapter("bind_items")
fun setBindiItems(view : RecyclerView, itesm : List<Item>) {
val adapter = view.adapter as? MainAdapter ?: ItemAdapter().apply { view.adapter = this }
adapter.items = items
adapter.notifyDatasetChanged()
}
class ItemAdapter : RecyclerView.Adapter() {
var items : List<Item> = emptyList()
}
class MainViewModel {
val items = ObservableArrayList()
init {
items.add(Item("John"))
items.add(Item("Charles"))
}
}
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable name="vm" type="MainViewModel" />
</data>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:bind_items="@{vm.items} />
</layout>
@shhan5
Copy link

shhan5 commented Oct 17, 2019

thank you for your medium post.
reporting small typo in databindingutils.kt
itesm ==> items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment