我只想通过数据绑定将一些参数从我的视图传递到模型视图。
我有一个自定义视图,将所有数据渲染到一个recyclerview中。
我有一个模型视图,可以获取服务器数据,并且想要在recyclerview中单击该项目。
布局
<CustomView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:activationRequestClick="@{(item) -> viewmodel.activateCardLinkedCoupon(item)}"/>
ViewModel
class CardLinkedCouponViewModel : ViewModel() {
fun activateCardLinkedCoupon(item: SomeItem) {
Timber.e("Clicked")
}
}
我的CustomView
class CustomView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr) {
var activationRequestClick: (item: SomeItem) -> Unit = {}
}
这里的问题是我得到了以下错误
An exception occurred: android.databinding.tool.util.LoggedErrorException: Found data binding errors.****/ data binding error ****msg:cannot find method activateCardLinkedCoupon(java.lang.Object) in class CustomView
如果方法activateCardLinkedCoupon
没有参数,则它可以正常工作,但我无法从单击的项目中获取信息。
感谢您的帮助