Android 有 View Block/Swallow Click 事件

标签 android

我在另一个 View 之上有一个 View 。单击底部 View 应该会触发回调。单击顶部 View 时不应触发任何回调。

我面临的问题是,当点击顶部 View 时,底部 View 会触发其回调。我想阻止这种情况。

我读过许多关于禁用点击的帖子,它们都提出了同样的建议:

view.setEnabled(false);

view.setClickable(false);

这些都不能阻止顶 View 吞噬/阻止点击事件。

您知道我如何才能阻止点击通过吗?

最佳答案

这有点老套,但我想出的最佳解决方案是添加一个空的 onClickListener 来吞下事件。

    button.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            // HACK disables click through events by swallowing click
        }
    });

关于Android 有 View Block/Swallow Click 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38214742/

相关文章:

java - Socket.io 类异常

java - NdefMessage 问题 - 类 Message 中的构造函数 Message 无法应用于给定类型

java - 在小数点后添加 n 个零

java - 读取 Sdcard 上的文件时出错

java - 使用 SAX 进行解析时如何保留未绑定(bind)到对象的 XML 节点

java - Android 异步任务中的 Thread.Sleep()

java - 使用 `==` 而不是 `equals()` 比较字符串时,如何使 Android Studio 或 IntelliJ 显示错误?

java - 从适配器替换时找不到 fragment ID 的 View

android - ListView 选择器不适用于 ListViewItem 的背景集

javascript - 用户定义的函数在 Angular Cordova 中不起作用