<VIEwStub androID:ID="@+ID/top_divIDer_stub" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:inflatedID="@+ID/top_divIDer_layout" androID:layout="@layout/include_line_separator_horizontal"/><VIEwStub androID:ID="@+ID/bottom_divIDer_stub" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:inflatedID="@+ID/bottom_divIDer_layout" androID:layout="@layout/include_line_separator_horizontal"/>
在我的适配器中,我试图通过DataBinding库生成的VIEwDataBinding访问VIEwStub,在我的例子中是TitleBinding.尝试执行以下 *** 作会导致错误.
TitleBinding binding = DataBindingUtil.bind(vIEw);VIEwStub topdivIDerStub = binding.topdivIDerStub;VIEwStub bottomdivIDerStub = binding.bottomdivIDerStub;
我收到此错误,应用程序无法编译.
Error:(31,50) error: incompatible types: VIEwStubProxy cannot be converted to VIEwStub
我通过将变量设置为类型VIEwStubProxy来解决它,允许它进行编译,但是提供了不兼容的类型语法突出显示错误.如果可能的话,我想知道这样做的正确方法.
这有效……
VIEwStubProxy topdivIDerStub = binding.topdivIDerStub;VIEwStubProxy bottomdivIDerStub = binding.bottomdivIDerStub;
导致
解决方法 我也有同样的问题.看来这是DataBinding的一个BUG.我不确定.或者您可以自己创建VIEwStubProxy:
TitleBinding binding = DataBindingUtil.bind(vIEw);VIEwStubProxy vIEwStubProxy = new VIEwStubProxy((VIEwStub) vIEw.findVIEwByID(R.ID.vIEwStub));vIEwStubProxy.setContainingBinding(binding);总结
以上是内存溢出为你收集整理的为什么Android Studio在通过ViewDataBinding访问ViewStub时无法构建?全部内容,希望文章能够帮你解决为什么Android Studio在通过ViewDataBinding访问ViewStub时无法构建?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)