Android OnTouch历史记录大小始终为0

Android OnTouch历史记录大小始终为0,android,touch,history,Android,Touch,History,我试图在视图中的onTouchListener中进行简单的方向识别,但event.getHistorySize()返回0,有时返回,但很少返回1或2。一般来说,没有历史,所以我不能做识别 ll3.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View arg0, MotionEvent arg1) { if (arg1.

我试图在视图中的onTouchListener中进行简单的方向识别,但event.getHistorySize()返回0,有时返回,但很少返回1或2。一般来说,没有历史,所以我不能做识别

    ll3.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent arg1) {
                if (arg1.getHistorySize() > 0) {
                    int prev = (int) arg1.getHistoricalY((arg1
                            .getHistorySize() - 1));
                    if (arg1.getY() > prev) { 

有人知道问题出在哪里吗?

除非有充分的理由查看传感器输出的每个值,否则您可能会这样做。(在帧之间输出的值可能不那么重要?)


将您需要的历史记录保存在某种队列中,您可以通过
onTouch
获得所需的所有历史记录。仅当此操作与先前对
onTouch
的调用之间存在多个touchevents时,才会填充历史记录。它不打算包含所有的历史那么你不需要一个手势听众吗?您需要自己处理这个历史记录,或者使用这样一个特殊的侦听器。查看一些教程。
ll3.setOnTouchListener(new OnTouchListener() {
    @Override
    int prevY=0;
    public boolean onTouch(View arg0, MotionEvent arg1) {
            if (arg1.getY() > prevY) { 
               // do stuff
            }
            prevY = arg1.getY();