为什么Android Studio在通过ViewDataBinding访问ViewStub时无法构建?

为什么Android Studio在通过ViewDataBinding访问ViewStub时无法构建?,第1张

概述我有一个包含2个ViewStubs的布局.它们的定义如下: <ViewStub android:id="@+id/top_divider_stub" android:layout_width="match_parent" android:layout_height="wrap_content" android:inflatedId=" 我有一个包含2个VIEwStubs的布局.它们的定义如下:

<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时无法构建?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1123738.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存