Android、Layout clicklistener 和 subview 点击问题

Posted

技术标签:

【中文标题】Android、Layout clicklistener 和 subview 点击问题【英文标题】:Android, Layout clicklistener and subview click through problem 【发布时间】:2011-03-23 11:12:07 【问题描述】:

我有一个 RelativeLayout,我在其中添加按钮并将其 onCLickListener 设置为我处理其点击的当前 Activity。

在特定情况下,我还需要在 ClickListener 上设置 RelativeLayout,但是一旦完成所需的布局点击,我需要允许再次点击按钮。 (即通过布局点击)

如果我将布局的点击侦听器设置为 null,我将无法再点击布局或其子视图的按钮。

我做错了什么?

编辑:我似乎已经通过设置修复了它;

relativeLayout.setClickable(false);

【问题讨论】:

只需使用布尔标志即可 这没什么用,无论如何我都需要设置 Layout onCLickListener,然后我需要在稍后的某个时间点“取消设置”它。这样我就可以点击它进入子视图(之前被 onClickListener 阻止了)。 【参考方案1】:

你试过了吗:

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

?

【讨论】:

我似乎已经通过添加 relativeLayout.setClickable(false); 来修复它; 这类问题通常归结为后代的可聚焦性,在一定程度上使用各种可聚焦性和点击设置应该可以解决。

以上是关于Android、Layout clicklistener 和 subview 点击问题的主要内容,如果未能解决你的问题,请参考以下文章

Android开发--Layout元素

android编程android:layout_weight="1"报错“Invalid layout param in a RelativeLayout: layout_weig

android:height 和 android:layout_height 有啥区别?

Android xml布局include中android:layout_below属性无法使用

Android xml布局include中android:layout_below属性无法使用

Android xml布局include中android:layout_below属性无法使用