嵌套视图中的android onclicklistener层次结构

时间:2013-11-27 07:39:49

标签: android

如何在嵌套视图中处理onclicklistner层次结构。例如:

TableRow tr = something

tr.setOnClickListener()...

TableLayout tbl

tbl.addView(tr)

ScrollView sv

sv.addView(tbl)

sv.setOnClickListener()...

因此,在这个例子中有两个级别的侦听器:每个行一个,一个在“最高”容器,sv。行的onclick事件有效,但sv上的那个似乎什么都不做。那么,sv上的监听器会发生什么,以及如何管理两个层事件?是否嵌套onclicks以某种方式“阻塞”对方?

2 个答案:

答案 0 :(得分:0)

您需要在TableRow上设置onTouchListener,检查onTouch方法传递的视图是否是您想要的视图。如果是这样,请将其处理为onClick方法

答案 1 :(得分:0)

使用

android:descendantFocusability="blocksDescendants

在root“sv”布局中。这将使父级点击成为可能,并且您可以单独处理行单击/ onTouch以单独为表行添加单击侦听器。

希望它有所帮助;)如果那么请求将其标记为真或投票。

干杯