gpt4 book ai didi

Android ACTION_UP 和 ACTION_DOWN 同时调用

转载 作者:太空宇宙 更新时间:2023-11-03 13:53:41 26 4
gpt4 key购买 nike

我正在使用触摸事件进行输入。 MotionEvent.ACTION_DOWN 和 MotionEvent.ACTION_UP 均在按下期间调用。它应该只在我的手指离开表面时调用 ACTION_UP。它们同时被调用。请参阅以下代码和 logcat 输出。

    public boolean onTouchEvent(MotionEvent e) {
// MotionEvent reports input details from the touch screen
// and other input controls. In this case, you are only
// interested in events where the touch position changed.

float x = e.getX();
float y = e.getY();

switch (e.getAction()) {
case MotionEvent.ACTION_DOWN:
mRenderer.scanButtonsDown(x, y);

Log.i("Touch", "Action Down Case");

case MotionEvent.ACTION_UP:
mRenderer.scanButtonsUp(x, y);

Log.i("Touch", "Action Up Case");

}

mPreviousX = x;
mPreviousY = y;
return true;
}

这是 logcat 输出:

09-01 14:58:24.801    4683-4683/nf.co.av_club.opengl I/Touch﹕ Action Down Case
09-01 14:58:24.811 4683-4683/nf.co.av_club.opengl I/Touch﹕ Action Up Case
09-01 14:58:24.961 4683-4683/nf.co.av_club.opengl I/Touch﹕ Action Up Case

之前的 logcat 会在屏幕被按下一次时生成一个 down case 和两个 up case。现在我将有一个扩展的压力。

09-01 14:58:37.113    4683-4683/nf.co.av_club.opengl I/Touch﹕ Action Down Case
09-01 14:58:37.123 4683-4683/nf.co.av_club.opengl I/Touch﹕ Action Up Case
09-01 14:58:41.097 4683-4683/nf.co.av_club.opengl I/Touch﹕ Action Up Case

看到时间戳了吗? Down 和 Up 同时被调用。两秒钟后,当我真正将手指从平板电脑上移开时,它会再次被调用。有人有什么建议吗?

最佳答案

你忘了在每个 case 的末尾添加 break;。请喜欢以下内容。

switch (e.getAction()) {
case MotionEvent.ACTION_DOWN:
mRenderer.scanButtonsDown(x, y);
Log.i("Touch", "Action Down Case");
break; //add this line

case MotionEvent.ACTION_UP:
mRenderer.scanButtonsUp(x, y);
Log.i("Touch", "Action Up Case");
break; //and this line

}

关于Android ACTION_UP 和 ACTION_DOWN 同时调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32339191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com