sil*_*der 6 java data-binding android 2-way-object-databinding android-databinding
我正在尝试在我的自定义控件中使用本机双向android数据绑定
所以我在xml中有类似的东西
<layout>
<data>
<variable name="item" type="Boolean"/>
</data>
...
<my.control app:vm="@={item}"/>
...
</layout>
Run Code Online (Sandbox Code Playgroud)
请注意,这是关于@={}- 本地双向绑定的问题.
在代码中类似的东西:
class MyControl extends RelativeLayout{
...
@BindingAdapter("app:vm")
public static void setVm(View v, VM vm){...}
}
Run Code Online (Sandbox Code Playgroud)
我的问题 - 我应该如何为我的viewModel定义getter?我没有找到任何关于它的指导.我尝试了不同的方法 - 编写自定义getter,静态getter但错误仍然相同.
来自这里,"滚你自己的"下:
您需要一些额外的代码才能使双向数据绑定与自定义类一起使用.最重要的是,您需要定义@InverseBindingMethod:
@InverseBindingMethods({
@InverseBindingMethod(type = MyControl.class, attribute = "vm"),
})
Run Code Online (Sandbox Code Playgroud)
在这种情况下,getter的名称与"app:vm"的属性"getVm"的名称相匹配.(更改为您的示例)
请访问链接的博客 - 它包含有关该主题的更多信息,包括属性更改事件监听器的绑定.
| 归档时间: |
|
| 查看次数: |
3501 次 |
| 最近记录: |