我有一个带有HScroll和VScroll的TableLayout,所以我可以向各个方向滚动。对于我使用的这种可滚动布局:Scrollview vertical and horizontal in android。这使用onTouchEvent。
我的TableLayout中有一些带有onClickListener的项目。
当我在表格中滚动并使用onClickListener触摸项目时,滚动无效。当我点击该项时,onClickListener工作正常。但是我也想在使用移动手势时滚动这些项目。
如何解决onTouchEvent和onClickListener之间的这种冲突?
这是我的onTouchEvent:
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
if(true) {
mx = event.getX();
my = event.getY();
}
break;
case MotionEvent.ACTION_MOVE:
if(true) {
curX = event.getX();
curY = event.getY();
vScroll.scrollBy((int) (mx - curX), (int) (my - curY));
hScroll.scrollBy((int) (mx - curX), (int) (my - curY));
mx = curX;
my = curY;
}
break;
case MotionEvent.ACTION_UP:
if(true) {
curX = event.getX();
curY = event.getY();
vScroll.scrollBy((int) (mx - curX), (int) (my - curY));
hScroll.scrollBy((int) (mx - curX), (int) (my - curY));
}
break;
}
return true;
}
答案 0 :(得分:0)
尝试从onTouchEvent方法返回false,这样就表明你没有使用该事件的android系统,它应该继续通过它...