2

我有一个带有HScroll和VScroll的TableLayout,所以我可以在所有方向上滚动。对于我使用的可滚动布局:Scrollview vertical and horizontal in android。这使用了一个onTouchEvent。表 - 冲突onTouchEvent和OnClickListener

我的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

尝试从简单的方法的onTouchEvent返回false,这样就表明Android系统,你没有消耗的情况下,它应该继续将其穿过...