android 2.3和4.1上的android setOnTouchListener行为不同

android 2.3和4.1上的android setOnTouchListener行为不同,android,ontouchlistener,Android,Ontouchlistener,我使用setOnTouchListener捕获MotionEvent.ACTION\u DOWN和MotionEvent.ACTION\u MOVE在点击视图时移动视图 Bt在三星S3(4.1.1)上运行良好,但在另一款android 2.3.3上不起作用(无法捕获MotionEvent.ACTION\u MOVE) 任何评论都有帮助,谢谢 =>=>=> 在Log.d()之后,MotionEvent.ACTION\u DOWN和“MotionEvent.ACTION\u MOVE”都被捕获,但在

我使用
setOnTouchListener
捕获
MotionEvent.ACTION\u DOWN
MotionEvent.ACTION\u MOVE
在点击视图时移动视图

Bt在三星S3(4.1.1)上运行良好,但在另一款android 2.3.3上不起作用(无法捕获
MotionEvent.ACTION\u MOVE

任何评论都有帮助,谢谢

=>=>=> 在Log.d()之后,
MotionEvent.ACTION\u DOWN
和“MotionEvent.ACTION\u MOVE”都被捕获,但在Android 4.1.1上,视图可以在“MotionEvent.ACTION\u MOVE”时移动,但在2.3.3上,视图不移动。不知道为什么。似乎findViewById(R.id.layoutMapMemoPhoto).invalidate()在2.3.3上不起作用

public boolean onTouch(View v, MotionEvent event) {    

    FrameLayout.LayoutParams lParams = null;    
    final int X = (int) event.getRawX();    
    final int Y = (int) event.getRawY();    

    switch (event.getAction() & MotionEvent.ACTION_MASK) {    
    case MotionEvent.ACTION_DOWN:    
       lParams = (FrameLayout.LayoutParams) v.getLayoutParams();    
       yDeltaImageView = Y - lParams.topMargin;    
       Log.d("DOWN");    
       break;    


    case MotionEvent.ACTION_MOVE:    
       lParams = (FrameLayout.LayoutParams) v.getLayoutParams();    

       lParams.topMargin = Y - yDeltaImageView;    
       v.setLayoutParams(lParams);    
       Log.d("MOVE");    
       break;    
  }    

findViewById(R.id.id_of_parent_view).invalidate();    


return true;  
}      
我会记录所有发生的运动事件,看看到底发生了什么。可能还有另一种关于移动的通知。在Log.d()之后,MotionEvent.ACTION\u DOWN和“MotionEvent.ACTION\u MOVE”都被捕获,但在Android 4.1.1上,当“MotionEvent.ACTION\u MOVE”时视图可以移动,但在2.3.3上,视图不移动。不知道为什么。似乎findViewById(父视图的R.id.R.id.id)。invalidate()在2.3.3中不起作用。