我们可以在android数据绑定中做类似的事情吗
itemType="@{MyClass::class}"
用于绑定适配器
@BindingAdapter(value = ["itemType"])
fun <T> func(
view: View,
itemType: Class<T>,
) {}
答案 0 :(得分:0)
不,您不会传递类,而是会传递数据对象。这是示例:
<ListView
android:id="@+id/bookList"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:items="@{viewmodel.items}" />
这是此的绑定适配器:
@BindingAdapter("app:items")
@JvmStatic
fun setItems(listView: ListView, items: List<Book>) {
with(listView.adapter as BookListAdapter) {
replaceData(items)
}
}
假设viewmodel.items
是LiveData,对其进行更新将自动更新列表视图。