// 如果滑动了>50个像素,就显示出删除按钮
if (startX > event.getX() + 50) {
startX = 0;// 因为公用一个事件处理对象,防止错乱,还原startX值
scrollView(view, HorizontalScrollView.FOCUS_RIGHT);
mScrollView = view;
} else {
scrollView(view, HorizontalScrollView.FOCUS_DOWN);
//这个地方加什么可以让滑动删除的时候不跳转。
Intent intent = new Intent(myActivity,ProductDetailActvivity.class);
intent.putExtra("Url", ProductList.get(position).getLinkUrl());
myActivity.startActivity(intent);
}
我现在是 在滑动删除listview的时候会跳转。怎么处理
不要把跳转事件放在这个位置,如果真要放加上个变量判断下是否跳转,主要是你的代码不够完整,我也说不完整
重写view的touchevent处理方式,具体看view的源码
/** HorizontalScrollView的滑动事件 /
private class ScrollViewScrollImpl implements OnTouchListener {
/* 记录开始时的坐标 */
private float startX = 0;
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// 如果有划出删除按钮的itemView,就让他滑回去并且锁定本次touch操作,解锁会在父组件的dispatchTouchEvent中进行
if (mScrollView != null) {
scrollView(mScrollView, HorizontalScrollView.FOCUS_LEFT);
mScrollView = null;
mLockOnTouch = true;
return false;
}
startX = event.getX();
break;
case MotionEvent.ACTION_UP:
HorizontalScrollView view = (HorizontalScrollView) v;
// 如果滑动了>50个像素,就显示出删除按钮
if (startX > event.getX() + 50) {
startX = 0;// 因为公用一个事件处理对象,防止错乱,还原startX值
scrollView(view, HorizontalScrollView.FOCUS_RIGHT);
mScrollView = view;
} else {
scrollView(view, HorizontalScrollView.FOCUS_LEFT);
// 单击ITEM跳转详情页面
Intent intent = new Intent(myActivity,ProductDetailActvivity.class);
intent.putExtra("Url",ProductList.get(position).getLinkUrl());
myActivity.startActivity(intent);
}
break;
}
return true;
}
}
这个是完整的代码!