我正在尝试开发一项功能,在该功能中,单击一个项目将调用 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();
}
最佳答案
我设法解决了这个问题。结果我需要做的就是在 onDown()
处理程序中将返回值从 false
更改为 true
。
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();
}
关于Android:单击和长按/双击的两个不同事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13324250/