Я просто хочу передать некоторый параметр через привязку данных из моего представления в мое представление модели.
У меня есть настраиваемое представление, в котором я отображаю все данные в представление recycler.
У меня есть представление модели, в котором я могу получить данные с сервера и хочу, чтобы элемент щелкнул в представлении recycler..
Макет
<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
не имеет параметров, он работает правильно, но я не получаю информацию о выбранном элементе.
Спасибо за вашу помощь