如果定义为继承视图 @BindingAdapter 解析为哪一个?
If defined for inheriting views @BindingAdapter resolves to which one?
假设为 ImageView
定义了 @BindingAdapter("imageUrl")
,而 MyImageView
继承自 ImageView
。如果在 MyImageView
中使用,用 @BindingAdapter
注释的方法将 app:imageUrl
解析为?
我的理解是,由于继承关系,这应该是有歧义的。
如果您在 layout.xml
中使用 MyImageView
,调用的方法将是 MyImageView
class 中声明的方法。
如果这个class内部不存在这个方法,由于继承,它会调用继承它的superclass(ImageView
)的方法。在这种情况下,method overload
发生了。
如果您在 layout.xml
中仅使用 ImageView
,被调用的方法将在 ImageView
class 中声明。
假设为 ImageView
定义了 @BindingAdapter("imageUrl")
,而 MyImageView
继承自 ImageView
。如果在 MyImageView
中使用,用 @BindingAdapter
注释的方法将 app:imageUrl
解析为?
我的理解是,由于继承关系,这应该是有歧义的。
如果您在 layout.xml
中使用 MyImageView
,调用的方法将是 MyImageView
class 中声明的方法。
如果这个class内部不存在这个方法,由于继承,它会调用继承它的superclass(ImageView
)的方法。在这种情况下,method overload
发生了。
如果您在 layout.xml
中仅使用 ImageView
,被调用的方法将在 ImageView
class 中声明。