【问题标题】:How do I disable onTouchEvent listener for custom view如何为自定义视图禁用 onTouchEvent 侦听器
【发布时间】:2014-02-12 01:21:26
【问题描述】:

我有一个通过扩展View 类创建的自定义视图。我的自定义视图覆盖了 onTouchEvent。 我希望能够打开和关闭视图的聆听功能。我需要从视图中执行此操作。有谁知道我怎么能做到这一点?只需调用

  setEnabled(false);

不起作用。

【问题讨论】:

标签: android android-layout


【解决方案1】:

通过以下设置尝试

setOnTouchListener(null)

【讨论】:

    【解决方案2】:

    我不确定这是否是正确的解决方案,但它有效:

            this.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View view, MotionEvent motionEvent) {
                    return true;
                }
            });
    

    这会阻止其他与触摸相关的侦听器接收事件,因此不会调用onTouchEvent

    您可以使用setOnTouchListener(null) 恢复正常状态,以便您的onTouchEvent 再次工作。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-30
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多