2

У меня есть TableLayout с HScroll и VScroll, поэтому я могу прокручивать все направления. Для этого прокручиваемого макета я использовал: 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, так что вы указываете андроида систему, которую вы не потребляете событие, и оно должно продолжать прохождение через ...

Смежные вопросы