gpt4 book ai didi

android - 长按安卓

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:53:36 25 4
gpt4 key购买 nike

我在自定义 View 中检测长按时遇到问题。

这是与此问题相关的代码

final GestureDetector gestureDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() {
public void onLongPress(MotionEvent e) {
Log.e("dbg_msg", "onLongPress");
}
});

public boolean onTouchEvent(MotionEvent event) {
return gestureDetector.onTouchEvent(event);
};

此代码会检测长按时的每一次(短)点击。

当我把这段代码放在继承自 Activity 的类中时,它起作用了。

那么为什么它在自定义 View 中不起作用?

最佳答案

所有这些代码都在您的自定义 View 类中:

public static int LONG_PRESS_TIME = 500; // Time in miliseconds 

final Handler _handler = new Handler();
Runnable _longPressed = new Runnable() {
public void run() {
Log.i("info","LongPress");
}
};

@Override
public boolean onTouchEvent(MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
_handler.postDelayed(_longPressed, LONG_PRESS_TIME);
break;
case MotionEvent.ACTION_MOVE:
_handler.removeCallbacks(_longPressed);
break;
case MotionEvent.ACTION_UP:
_handler.removeCallbacks(_longPressed);
break;
}
return true;
}

关于android - 长按安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11701826/

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