我正在使用exmaple学习AAC。
研究这个,我发现我听不懂。
@BindingAdapter
使用此注释的乐趣有2个参数。
一个是视图,另一个是数据。
查看xml,只有一个参数“数据”。
第一个参数“视图”是否自动与视图映射?
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/tasks_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:items="@{viewmodel.items}" />
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:text="@{task.titleForList}"
app:completedTask="@{task.completed}" />
@BindingAdapter("app:items")
fun setItems(listView: RecyclerView, items: List<Task>) {
(listView.adapter as TasksAdapter).submitList(items)
}
@BindingAdapter("app:completedTask")
fun setStyle(textView: TextView, enabled: Boolean) {
if (enabled) {
textView.paintFlags = textView.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
} else {
textView.paintFlags = textView.paintFlags and Paint.STRIKE_THRU_TEXT_FLAG.inv()
}
}