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

我面临的问题是,在顶视图上单击时,底视图会触发其回调。我想防止这种情况。

我已经阅读了许多有关禁用点击的文章,它们都暗示着同样的事情:

view.setEnabled(false);



view.setClickable(false);

这些都不能阻止顶视图吞噬/阻止click事件。

您知道我如何可以阻止点击通过吗?

最佳答案

它有点怪异,但我想出的最好的解决方案是添加一个空的onClickListener吞下该事件。

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

10-07 19:14
查看更多