安卓(Android),布局点击事件和子视图的点击穿透问题

3
我有一个RelativeLayout,我向其中添加了按钮,并将它们的onClickListener设置为当前Activity,以便处理它们的点击事件。
在特定情况下,我需要设置RelativeLayout的onClickListener,但是一旦完成所需的布局点击操作,我需要再次允许对按钮的点击(即通过布局进行点击)。
如果我将布局的click listener设置为null,则无法再单击作为其子视图的按钮或布局。
我做错了什么?
编辑:我似乎已经通过设置解决了这个问题。
relativeLayout.setClickable(false);

只需使用布尔标志即可实现此功能。 - Ganapathy C
这没有帮助,我需要在任何情况下都设置Layout的onClickListener,然后稍后在某个时间点上“取消”它。这样我就可以通过它单击到子视图(之前被onClickListner阻止了)。 - Hamid
1个回答

2

您尝试过以下方法吗:

relativeLayout.setOnClickListener(null);
relativeLayout.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);

?


我似乎通过添加 relativeLayout.setClickable(false) 修复了它。 - Hamid
这种问题通常与后代的焦点能力有关,通过一定程度的调整不同的焦点能力和点击设置应该可以解决它。 - Hamid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接