Android 如何禁用自定义视图的onTouchEvent侦听器

Android 如何禁用自定义视图的onTouchEvent侦听器,android,android-layout,Android,Android Layout,我有一个通过扩展view类创建的自定义视图。我的自定义视图覆盖onTouchEvent。 我希望能够打开和关闭视图的侦听功能。我需要从视图中执行此操作。有人知道我怎样才能做到这一点吗?简单的呼唤 setEnabled(false); 不工作。请尝试设置以下选项 setOnTouchListenernull我不确定这是否是正确的解决方案,但它可以工作: this.setOnTouchListener(new View.OnTouchListener() {

我有一个通过扩展view类创建的自定义视图。我的自定义视图覆盖onTouchEvent。 我希望能够打开和关闭视图的侦听功能。我需要从视图中执行此操作。有人知道我怎样才能做到这一点吗?简单的呼唤

  setEnabled(false);

不工作。

请尝试设置以下选项


setOnTouchListenernull

我不确定这是否是正确的解决方案,但它可以工作:

        this.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                return true;
            }
        });
这会阻止其他与触摸相关的侦听器接收事件,因此不会调用onTouchEvent

您可以使用setOnTouchListenernull返回到正常状态,以便onTouchEvent再次工作


如果你找到了更好的解决方案,我希望你能发布。

浏览这个链接。也许它会对你有所帮助。