记一次Android解决使用databinding时,Activity/Fragment中无法使用binding引用include标签下的组件问题
·
以下内容假设读者对Android databinding已经有了一定的基础使用了解(databinding官方教程)。
正文:
产生此问题的原因是布局文件中的include标签定义的id属性名称没有包含在跟其对应的layout属性关联的布局文件名称中【id和布局名称可以相同】,如下用例所示:
1)错误样例:
<include
android:id="@+id/in_slave"
layout="@layout/activity_fellow"
app:mvm="@{mvm}" />
问题原因:这里的id名称in_slave没有包含在layout文件名称activity_fellow中;
2)正确使用样例(可以正常在activity/fragment中通过binding引用):
<include
android:id="@+id/in_master"
layout="@layout/fragment_main_master_new" />
in_master包含在fragment_main_master_new中。
在activity/fragment中的使用:binding.inMaster.[fragment_main_master_new布局文件中的组件id名称],这里引用的id名称都是驼峰写法。
更多推荐


所有评论(0)