Android 调用具有数据绑定的方法时如何获取视图

Android 调用具有数据绑定的方法时如何获取视图,android,data-binding,onclick,android-databinding,Android,Data Binding,Onclick,Android Databinding,我正在使用ImageView上的数据绑定从onClick属性调用一个方法: android:onClick="@{() -> myClass.myMethod()}" myMethod()获取一个视图作为参数,我知道我可以这样做: android:onClick="@{(view) -> myClass.myMethod(view)}" 但我想传递ImageView而不是View 对此有什么建议吗?你可以直接投 也可以直接传递视图对象。数据绑定按视图id为视图生成视图访问器(例如

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

android:onClick="@{() -> myClass.myMethod()}"
myMethod()获取一个视图作为参数,我知道我可以这样做:

android:onClick="@{(view) -> myClass.myMethod(view)}"
但我想传递ImageView而不是View

对此有什么建议吗?

你可以直接投

也可以直接传递视图对象。数据绑定按视图id为视图生成视图访问器(例如,如果您的ImageView具有id
user\u picture
,则可以通过数据绑定布局作为
userPicture
访问它)


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

视图是泛型类型,所以您必须将其强制转换为imageview(imageview)如果将onclick设置为ImageView,则在方法中查看所需位置。