为什么相同的GestureEvent代码可以在android 2.3.5上运行,而不能在4.0.3上运行

为什么相同的GestureEvent代码可以在android 2.3.5上运行,而不能在4.0.3上运行,android,gesture,motionevent,Android,Gesture,Motionevent,此代码适用于2.3.5版本的手机,但不适用于4.0.3版本的平板电脑: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); this.setContentView(R.layout.rotate_image); mR

此代码适用于2.3.5版本的手机,但不适用于4.0.3版本的平板电脑:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    this.setContentView(R.layout.rotate_image);

    mRotator = (ImageView) findViewById(R.id.rotateImage_image_rotator);

    mGDetector = new GestureDetector(getApplicationContext(), this);

    findViewById(R.id.rotateImage_background).setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return mGDetector.onTouchEvent(event);
        }
    });
}
@Override
public boolean onDown(MotionEvent e) {
    // TODO Auto-generated method stub
    return true;
}


@Override
public boolean onFling(MotionEvent start, MotionEvent finish, float velocityX, float velocityY) {   
    return false;
}


@Override
public void onLongPress(MotionEvent e) {
    // TODO Auto-generated method stub

}


@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
        float distanceY) {
    if(e2.getHistorySize() == 0){

    }
    else{
            if(e2.getX() > e2.getHistoricalX(e2.getHistorySize() -1)){

                updateRotation(true);
            }
            else{
                updateRotation(false);
            }

        }
    return true;
}


@Override
public void onShowPress(MotionEvent e) {
    // TODO Auto-generated method stub

}


@Override
public boolean onSingleTapUp(MotionEvent e) {
    // TODO Auto-generated method stub
    return false;
}
平板电脑上有什么bug吗?我的意思是,它的代码是一样的,它在手机上工作得很好,但它不会在平板电脑上注册。是因为android版本,还是因为它是平板电脑


编辑:更具体地说,由于某种原因,onScroll功能在平板电脑上不会被调用,或者只被调用一次,但在我看来,它就像手机上的一个符咒一样工作

,唯一的功能是在
onScroll
更新操作?!请注意,要获取
getHistorySize
可能需要非常快的运动,这可能是平板电脑的问题所在(如果是,请在此处使用日志输出)

到底是什么不起作用?据我所知,唯一的功能是
onScroll
更新操作?!请注意,要获取
getHistorySize
可能需要非常快速的运动,这可能是平板电脑上的问题(如果是这样,请在此处使用日志输出)。对不起,我应该更清楚一些。出于某种原因,在平板电脑上,onScroll功能不会被调用,或者只被调用一次,而在手机上,它就像一个Charm一样工作。结果,问题在于GetHistorySize,但我的评论作为答案,所以答案可以被接受。平板电脑的工作方式必须与手机不同,因为即使在使用android 4.1的手机上,它也能工作,但是问题现在已经解决了,谢谢