Макет, который нужно включить, выглядит следующим образом: child.xml :
<layout>
<data>
<variable
name="click"
type=""> <!-- What type should be here? -->
</data>
<LinearLayout>
<View onClick="@{click}"/>
</LinearLayout>
</layout>
Чтобы включить это, parent.xml:
<layout>
<data>
<variable
name="viewModel"
type="ViewModel"/>
</data>
<LinearLayout>
<View onClick="()->viewModel.click1()"/>
<include
bind:click="()->viewModel.click2()"/>
layout="@layout/child"/>
</LinearLayout>
</layout>
Так какя могу передать clickEvent только в child.xml.Так как разные parent.xml имеют разные ViewModel, я думаю, что я не должен передавать viewModel в child.xml.Но я не знаю, как передать метод в child.xml.
Решение, которое я сейчас делаю, - это setOnClickListener в файле Java. Я сомневаюсь, что dataBinding может облегчить это.