Я сталкиваюсь с проблемами, пытающимися использовать функцию в качестве параметра в адаптере привязки с использованием привязки данных Kotlin/Android. Этот пример кода вызывает e: error: cannot generate view binders java.lang.StackOverflowError
при построении без другой полезной информации в журнале.
Вот мой привязывающий адаптер:
@JvmStatic
@BindingAdapter("onDelayedClick")
fun onDelayedClick(view: View, function: () -> Unit) {
// TODO: Do something
}
XML:
<View
android:id="@+id/test_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:onDelayedClick="@{() -> viewModel.testFunction()}"/>
и метод в моей модели ViewModel:
fun testFunction() = Unit
Я немного борется с этим, и ничто из того, что я пробовал, работает, поэтому любая помощь приветствуется.