如何在使用数据绑定调用方法时获取视图

时间:2017-05-25 16:46:33

标签: android data-binding onclick android-databinding

我在ImageView上使用数据绑定从onClick属性调用方法:

android:onClick="@{() -> myClass.myMethod()}"

myMethod()获取一个视图作为参数我知道我可以这样做:

android:onClick="@{(view) -> myClass.myMethod(view)}"

但我想传递ImageView而不是View

对此有何建议?

1 个答案:

答案 0 :(得分:0)

你可以施展。

或者您可以直接传递视图对象。 DataBinding通过视图id生成视图的视图访问器(例如,如果您的ImageView具有标识user_picture,您可以从DataBinding布局访问它userPicture)。

但我不建议这样做,最好创建自定义BindingAdapter,因为在大多数情况下,您的视图模型不应直接访问视图或上下文,但所有特定于视图的内容都应在BindingAdapters中处理。