Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何临时禁用/绕过Android OnTouchEvent_Java_Android_Eclipse_Events_Touch Event - Fatal编程技术网

Java 如何临时禁用/绕过Android OnTouchEvent

Java 如何临时禁用/绕过Android OnTouchEvent,java,android,eclipse,events,touch-event,Java,Android,Eclipse,Events,Touch Event,我目前正在使用该事件 @Override public boolean onTouchEvent(MotionEvent ev) { 为我正在编写的游戏提供用户反馈。此事件触发一些需要一些时间才能完成的游戏控制事件(因为涉及动画)。我遇到的问题是,在动画期间,如果我一直触摸屏幕(也称为触发此事件),我将得到一个超时错误: 10-02 21:58:30.776:错误/活动管理器(67):原因:keyDispatchingTimedOut 基本上,当动画运行时,我不需要此事件,尽管将其排队会很好

我目前正在使用该事件

@Override
public boolean onTouchEvent(MotionEvent ev)
{
为我正在编写的游戏提供用户反馈。此事件触发一些需要一些时间才能完成的游戏控制事件(因为涉及动画)。我遇到的问题是,在动画期间,如果我一直触摸屏幕(也称为触发此事件),我将得到一个超时错误:

10-02 21:58:30.776:错误/活动管理器(67):原因:keyDispatchingTimedOut

基本上,当动画运行时,我不需要此事件,尽管将其排队会很好

我可以做些什么来防止超时,或者将事件排队,或者暂时禁用它


谢谢。

您是否有可能阻止UI线程?除了罗曼所说的之外,绝对没有理由去做你所要求的(甚至不可能:)



您可能希望在onTouchEvent上使用sleep()。

实现这一点的简单方法是在其上添加transaperent布局(将其添加到xml填充父高度和宽度中)

在动画开始布局中,设置ClickAbe(true);在动画布局中,设置ClickAbe(false)


非常简单。

当标志为真时,使用标志。回去吧。否则,处理事件你能解释一下“阻塞线程”吗?我可能正在这么做。我基本上是在做我自己的动画。一个线程只绘制屏幕,而另一个线程在移动可绘制内容之间使用延迟。这个OnTouchEvent会触发移动可拖动设备。不幸的是,我不能这样做,因为动画可能需要0.5秒到5秒或更长的时间。你是什么意思?你如何运行你的动画?我正在使用GLSurfaceView,它使用自己的渲染线程。当我收到touchevent时,我设置了一个布尔值来播放动画。然后在渲染线程上,我检查是否在渲染运行期间播放动画。您仍然可以在不影响动画的情况下休眠事件。