
我有非常简单的代码,应该根据有关DataBinding的几篇文章工作,但由于某种原因,它不是.
我正在尝试将RecycleVIEw与Databinding一起使用.
class ItemVIEwHolder extends RecyclerVIEw.VIEwHolder{ VIEwAgendaItembinding binding; public ItemVIEwHolder(VIEw itemVIEw) { super(itemVIEw); binding = VIEwAgendaItembinding.bind(itemVIEw); //this is line where it's throw an error. }}我检查了这个绑定方法的生成版本,它看起来像这样:
public static VIEwAgendaItembinding bind(androID.vIEw.VIEw vIEw, androID.databinding.DataBindingComponent bindingComponent) { if (!"layout/vIEw_agenda_item_0".equals(vIEw.getTag())) { throw new RuntimeException("vIEw tag isn't correct on vIEw:" + vIEw.getTag()); } return new VIEwAgendaItembinding(bindingComponent, vIEw); }这很奇怪.因为我没有layout / vIEw_agenda_item_0.这个视图应该使用layout / vIEw_agenda_item,我显然没有设置任何标签.但是,即使我为这个确切的元素设置了这些标记,它仍然无效.
我该怎么做才能解决这个问题?
附:但是,如果我将此代码VIEwAgendaItembinding.bind(itemVIEw)更改为这一个DataBindingUtils.bind(itemVIEw)它正在工作.这是数据绑定库中的问题吗?
解决方法:
数据绑定在编译期间重写您的布局文件,因此它将自动添加该标记.
DataBindingUtils.bind检查视图上是否存在现有绑定并重新使用它.看起来像你在其他地方初始化了该视图的数据绑定.我认为我们应该改变VIEwAgendaItembinding.bind方法来做同样的事情.
总结以上是内存溢出为你收集整理的java – RuntimeException:视图上的视图标记不正确:ViewAgendaItemBinding.bind()方法为null全部内容,希望文章能够帮你解决java – RuntimeException:视图上的视图标记不正确:ViewAgendaItemBinding.bind()方法为null所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)