首先,我是数据绑定的新手,所以请不要因为我的(可能是愚蠢的)问题来评判我:)。我想为例如app:data
a使用相同的绑定名称,RecyclerView
并将其绑定到ViewModel
提供 a 的字段List<MyModel>
。但是,我想为不同的RecyclerView
.
// For RecyclerView 1
@BindingAdapter("app:data")
fun setData(recyclerView: RecyclerView, data: List<MyModel>?) {
data?.let {
recyclerView.adapter = RV1Adapter(data)
}
}
// For RecyclerView 2
@BindingAdapter("app:data")
fun setData(recyclerView: RecyclerView, data: List<MyModel>?) {
data?.let {
recyclerView.adapter = RV2Adapter(data)
}
}
例如在布局上
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rcv1"
android:layout_width="match_parent"
android:layout_height="300dp"
app:data="${viewModel.data}"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rcv2"
android:layout_width="match_parent"
android:layout_height="300dp"
app:data="${viewModel.data}"/>
我怎样才能做到这一点?
我应该使用不同的绑定名称吗?(我以前没有使用这种方法,因为我认为它会有点乱)
或者“正确”的方法是如何做到这一点的?
谢谢