android - GestureDetector:长按释放时检测
问题描述
我正在覆盖 GestureDetector 的某些功能,并且我检测到长按,并且希望在它释放后也检测到,但我还没有找到该功能。实际上,我发现释放水龙头的唯一功能是 onSingleTapUp。是否可以检测到何时释放长按?
我的代码:
class GestureListener (val position: Int) : GestureDetector.SimpleOnGestureListener() {
override fun onLongPress(e: MotionEvent?) {
// Do something here
super.onLongPress(e)
}
解决方案
在Java中你可以这样做
boolean isDown = false;
和
textView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
if (action == MotionEvent.ACTION_DOWN) {
Toast.makeText(v.getContext(), "down: " , 1000).show();
isDown = true;
}
else if (action == MotionEvent.ACTION_UP) {
if (isDown) {
// touch press complete, show toast
Toast.makeText(v.getContext(), "User Release Long Press: " , 1000).show();
isDown = false;
}
}
return true;
}
});