ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java – 找不到值为type Boolean的属性’app:vm’的GETTER

2019-05-16 13:14:39  阅读:221  来源: 互联网

标签:java android data-binding android-databinding 2-way-object-databinding


我正在尝试在我的自定义控件中使用本机双向android数据绑定

所以我在xml中有类似的东西

<layout>
<data>
<variable name="item" type="Boolean"/>
</data>
...
<my.control app:vm="@={item}"/>
...
</layout>

请注意,这是关于@ = {} – 本地2路绑定的问题.

在代码中类似的东西:

class MyControl extends RelativeLayout{
...
@BindingAdapter("app:vm")
public static void setVm(View v, VM vm){...}
}

我的问题 – 我应该如何为我的viewModel定义getter?我没有找到任何关于它的指导.我尝试了不同的方法 – 编写自定义getter,静态getter但错误仍然相同.

最佳答案:

摘自here,“滚动你自己”:

您需要一些额外的代码才能使双向数据绑定与自定义类一起使用.最重要的是,您需要定义@InverseBindingMethod:

@InverseBindingMethods({
   @InverseBindingMethod(type = MyControl.class, attribute = "vm"),
})

In this case, the name of the getter matches the name of the attribute “getVm” for “app:vm.” (Changed to your example)

请访问链接的博客 – 它包含有关该主题的更多信息,包括属性更改事件监听器的绑定.

标签:java,android,data-binding,android-databinding,2-way-object-databinding
来源: https://codeday.me/bug/20190516/1115316.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有