如何在嵌套视图中处理onclicklistner层次结构。例如:
TableRow tr = something
tr.setOnClickListener()...
TableLayout tbl
tbl.addView(tr)
ScrollView sv
sv.addView(tbl)
sv.setOnClickListener()...
因此,在这个例子中有两个级别的侦听器:每个行一个,一个在“最高”容器,sv。行的onclick事件有效,但sv上的那个似乎什么都不做。那么,sv上的监听器会发生什么,以及如何管理两个层事件?是否嵌套onclicks以某种方式“阻塞”对方?
答案 0 :(得分:0)
您需要在TableRow上设置onTouchListener,检查onTouch方法传递的视图是否是您想要的视图。如果是这样,请将其处理为onClick方法
答案 1 :(得分:0)
使用
android:descendantFocusability="blocksDescendants
在root“sv”布局中。这将使父级点击成为可能,并且您可以单独处理行单击/ onTouch以单独为表行添加单击侦听器。
希望它有所帮助;)如果那么请求将其标记为真或投票。
干杯