我正在尝试开发一项功能,其中单击一个项目将调用Intent转到另一个Activity,长按或双击该项目会执行其他操作,例如允许您编辑文本。
到目前为止,我只能让两者同时发生,而不是单独发生。有没有人有任何想法?
public boolean onTouchEvent(MotionEvent e) {
return gestureScanner.onTouchEvent(e);
}
public boolean onSingleTapConfirmed(MotionEvent e) {
Intent i = new Intent(getContext(), SecondClass.class);
getContext().startActivity(i);
return true;
}
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { return false; }
public void onLongPress(MotionEvent e) {
Toast.makeText(getContext(), "Edit feature here", Toast.LENGTH_SHORT).show();
}
答案 0 :(得分:6)
我设法解决了这个问题。事实证明,我需要做的就是将false
处理程序中的返回值从true
更改为onDown()
。
public boolean onTouchEvent(MotionEvent e) {
return gestureScanner.onTouchEvent(e);
}
public boolean onSingleTapConfirmed(MotionEvent e) {
Intent i = new Intent(getContext(), SecondClass.class);
getContext().startActivity(i);
return true;
}
public boolean onDown(MotionEvent e) { return true; }
public void onLongPress(MotionEvent e) {
Toast.makeText(getContext(), "Edit Feature", Toast.LENGTH_SHORT).show();
}
答案 1 :(得分:4)
使用GestureDetector,SimpleOnGestureListener包含onSingleTapConfirmed()
,onLongPress()
和onDoubleTap()
所需的方法。