Android DataBinding错误.找不到访问者

Android DataBinding错误.找不到访问者,第1张

概述当我尝试运行我的应用程序时出现以下错误:Error:Executionfailedfortask':app:compileDevelopmentDebugJavaWithJavac'.>java.lang.RuntimeException:Founddatabindingerrors.****/databindingerror****msg:Couldnotfindaccessorjava.lang.String.giftRecipien

当我尝试运行我的应用程序时出现以下错误:

Error:Execution Failed for task ':app:compileDevelopmentDeBUGJavaWithJavac'.> java.lang.RuntimeException: Found data binding errors.****/ data binding error ****msg:Could not find accessor java.lang.String.giftRecipIEntname redacted.xml loc:182:63 - 182:93 ****\ data binding error ****

我有一个Order对象,如下所示:

public class Order {    public Address address;    // unrelated fIElds and methods}

嵌套的Address对象如下所示:

public class Address {    public String addressline1;    public String addressline2;    public String giftRecipIEntname;    public Boolean isgift;}

在我的.xml中,我正在执行以下 *** 作:

<layout xmlns:androID="http://schemas.androID.com/apk/res/androID">    <data>        <variable name="order" type="example.redacted.models.Order"/>    </data>    // Widgets and whatnot    <TextVIEw        androID:ID="@+ID/gift_recipIEntTV"        androID:layout_column="1"        androID:layout_weight="1"        androID:layout_wIDth="0dp"        androID:textStyle="bold"        androID:gravity="right"        androID:text='@{order.address.isgift ?  order.address.giftRecipIEntname : "" }'/>

最后在我的片段中:

public VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container, Bundle savedInstanceState) {    RedactedBinding dataBinding = DataBindingUtil.inflate(inflater, R.layout.redacted, container, false);    dataBinding.setorder(_order);    return dataBinding.getRoot();}

解决方法:

经过数小时的反复试验,似乎AndroID数据绑定在查看公共字段之前会查找getter.我的Order对象有一个名为getAddress的辅助方法

public class Order {    public Address address;    public String getAddress() {        return address.addressline1 + address.addressline2;    }}

绑定器调用该方法而不是访问公共地址字段.我把getAddress方法放在Address对象里面(可能应该在那里开始)并编译应用程序.

总结

以上是内存溢出为你收集整理的Android DataBinding错误.找不到访问者全部内容,希望文章能够帮你解决Android DataBinding错误.找不到访问者所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1097588.html

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

发表评论

登录后才能评论

评论列表(0条)

保存