<ConstraintLayout
app:clickListener="@{1}"> // wont work
<LinearLayout> // works here
<TextView/>
<ImageView/>
</LinearLayout>
</ConstraintLayout>
我遇到了以前从未遇到过的奇怪行为。我正在尝试使约束布局可单击,因此我有一个绑定适配器来初始化单击侦听器。
@BindingAdapter("clickListener")
fun clickListener(view: ViewGroup, data: Int){
view.setOnClickListener{
println("Click")
}
}
约束布局不听我的点击。一次偶然的机会,我创建了线性布局,将app:clickListener="@{1}"
约束布局移到了线性布局。这将起作用并且会听到点击。如果我删除线性布局并添加app:clickListener="@{1}"
到 Textview 或 ImageView 或两者中,也会听到点击。无论在根级别如何,它都不起作用。
对此有解释吗?我试图摆脱线性布局,因为它向视图添加了一个层,但这是我必须使它工作的唯一方法,请注意,我只会在这种情况下使用绑定适配器。