【发布时间】:2014-02-12 01:21:26
【问题描述】:
我有一个通过扩展View 类创建的自定义视图。我的自定义视图覆盖了 onTouchEvent。
我希望能够打开和关闭视图的聆听功能。我需要从视图中执行此操作。有谁知道我怎么能做到这一点?只需调用
setEnabled(false);
不起作用。
【问题讨论】:
-
通过这个链接..也许它会帮助你。 stackoverflow.com/questions/5418510/…
我有一个通过扩展View 类创建的自定义视图。我的自定义视图覆盖了 onTouchEvent。
我希望能够打开和关闭视图的聆听功能。我需要从视图中执行此操作。有谁知道我怎么能做到这一点?只需调用
setEnabled(false);
不起作用。
【问题讨论】:
通过以下设置尝试
setOnTouchListener(null)
【讨论】:
我不确定这是否是正确的解决方案,但它有效:
this.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
return true;
}
});
这会阻止其他与触摸相关的侦听器接收事件,因此不会调用onTouchEvent。
您可以使用setOnTouchListener(null) 恢复正常状态,以便您的onTouchEvent 再次工作。
如果您找到了更好的解决方案,我希望您发布它。
【讨论】: