Я использую привязку данных с Kotlin в Android, и у меня есть сомнения относительно того, как передать функцию во включенный макет.
У меня есть макет верхнего уровня, который в конце включает другой макет, подобный этому:
<include layout="@layout/included_layout"
bind:clickHandler="@{() -> vm.onClick()}"/>
, где onClick
определяется как
fun onClick() {
///
}
И затем у меня есть включенный макет, который выглядит следующим образом:
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="clickHandler"
type=????? />
</data>
//Rest of layout
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="@{() -> retryHandler}" />
У меня вопрос, какой тип clickHandler
в этом случае? Можно ли использовать его так, не создавая тип c?