问题在于所包含的布局没有被视为数据绑定布局。要使其成为一体,您需要传递一个变量:
button.xml:
<layout xmlns:andr...> <data> <variable name="foo" type="int"/> </data> <Button android:id="@+id/button" ...." />
main.xml:
<layout xmlns:andr...... <include layout="@layout/buttons" android:id="@+id/buttons" app:foo="@{1}"/>....然后,您可以通过按钮字段间接访问按钮:
MainBinding binding = MainBinding.inflate(getLayoutInflater());binding.buttons.button
从1.0-rc4(刚刚发布)开始,您不再需要该变量。您可以将其简化为:
button.xml:
<layout xmlns:andr...> <Button android:id="@+id/button" ...." />
main.xml:
<layout xmlns:andr...... <include layout="@layout/buttons" android:id="@+id/buttons"/>....



