android - 奇怪的绑定适配器点击监听行为kotlin android
问题描述
<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 或两者中,也会听到点击。无论在根级别如何,它都不起作用。
对此有解释吗?我试图摆脱线性布局,因为它向视图添加了一个层,但这是我必须使它工作的唯一方法,请注意,我只会在这种情况下使用绑定适配器。
解决方案
推荐阅读
- spring-boot - Spring boot REST Services 仅允许通过 F5 负载均衡器访问
- python - 查找 Azure VM 的 Infiniband IP 地址
- javascript - 将 div 转换为图像 HTML 的最简单方法
- r - 使用调查包循环遍历列并根据条件打印比例或均值表
- r - 为什么 R 会有这样的行为?
- string - 从两个括号之间提取数字
- parsing - 使用 java 8 解析 LocalDateTime 的问题
- elasticsearch - Percolate query alternative for given use case
- ubuntu-14.04 - Python3.6 No module named '_curses'
- dbeaver - How do I enable or configure "Code Folding" and Side-by-Side Text Compare in DBeaver?