Android:在一个手势中检测到两个手势

Android:在一个手势中检测到两个手势,android,Android,我正在制作一个需要检测点击的应用程序(我使用了onsingletapp)并保持(我使用了onShowPress)。问题是,有时我所做的单击首先注册为保留,然后是单击。有办法解决这个问题吗 另外,我不想长时间点击,所以我没有使用OnLongClickListener 另外,我已经尝试使用OnClickListener进行单击,使用SimpleOnGestureListener进行保持,但没有检测到手势 相关代码 protected void onCreate(Bundle savedInstan

我正在制作一个需要检测点击的应用程序(我使用了
onsingletapp
)并保持(我使用了
onShowPress
)。问题是,有时我所做的单击首先注册为保留,然后是单击。有办法解决这个问题吗

另外,我不想长时间点击,所以我没有使用
OnLongClickListener

另外,我已经尝试使用
OnClickListener
进行单击,使用
SimpleOnGestureListener
进行保持,但没有检测到手势

相关代码

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ground);
        gl = new GestureDetector(this,new MyGl());
}
 class MyGl extends GestureDetector.SimpleOnGestureListener {
        @Override
        public boolean onDown(MotionEvent event) {
            return true;
        }

        @Override
        public boolean onSingleTapUp(MotionEvent event) {
            Log.i("motion","single");
            return true;
        }
        @Override
        public void onShowPress(MotionEvent e){
            Log.i("motion","long");
        }
    }

 @Override
 public boolean onTouchEvent(MotionEvent e) {
        return gl.onTouchEvent(e);

    }

我希望只看到“单曲”被记录,但“长”先被记录,然后是“单曲”。在一个手势中检测到两个手势。

听起来好像该API不打算直接(无限制地)与onSingleTapUp和onDown一起使用。你应该考虑阅读文档:“清楚地说:

每次停机事件都会立即触发

你需要根据特定的规格过滤掉它。阅读文档将解释原因


也许你应该考虑自己处理触摸事件,并为你所寻找的东西过滤触摸逻辑。我试着在线寻找解决方案,但不能点击基本上是一段时间,你在设备上的保留,对吗?我认为您需要从您正在使用的API以及MotionEvents的问题的角度,更深入地解释您正在尝试做什么。并解释为什么OnLongClickListener不适用于您。我正在寻找快速点击和保持之类的功能。longclicklistener无法工作,因为用户必须在一段时间后释放手指才能工作,但我不希望这样。我试着快速点击我的应用程序,但它首先被检测为保持,然后被检测为点击,但我不知道为什么会发生这种情况。你能发布一些代码吗,这将为你尝试的内容提供更多的上下文。好的,我已经添加了代码。我真的不明白你所说的“该api不打算直接用于OnSingleTapy vs ondown”。onDown应该返回真值,其他一切正常吗?你能举个例子吗?