最近在实现ListView滑动删除时遇到这样一个问题,ListView的触摸和滑动冲突,详细情况就是如果在触摸事件中添加一个跳转Activity的工作,每当触摸ListView的Item就跳转,但是想滑动删除时也会触摸ListView的Item,这样还没有进行滑动删除界面就跳转了。我的解决办法是通过判断ListView的Item按下和抬起时的X坐标判断,滑动删除时X坐标会变化,触摸时X坐标不会变。
int x_down = 0; //mListView选中Item按下时的x坐标
int x_up = 0; //mListView选中Item松开时的x坐标
ListView listView;
listView= (ListView ) findViewById(R.id.listView);
listView.setOnTouchListener(this);
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO 自动生成的方法存根
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
x_down = (int) event.getX();
break;
case MotionEvent.ACTION_UP:
x_up = (int) event.getX();
break;
default:
break;
}
if ((x_up - x_down) >= 0) {
}
return false;
}