2010-07-26 5 views
0

Мое приложение имеет три страницы (три вкладки), и я хочу переключаться между двумя сетками, перемещая палец горизонтально. Сенсорный код работает нормально, но я больше не могу нажимать на элементы сетки! Я использую метод onItemClickListener (onClickListener не работает в Gridview), но элемент сетки не нажимается. Спасибо за помощь!Android, GridView и onTouchListener

Код:

myGrid.setOnTouchListener(this); 
myGrid.setOnItemClickListener(this); 
.... 

public boolean onTouch(View v, MotionEvent event) { 
    int eventaction = event.getAction(); 
    switch (eventaction) { 
    case MotionEvent.ACTION_DOWN: 
     xStart = event.getX(); 
     break; 
    case MotionEvent.ACTION_UP: 
     xEnd = event.getX(); 

     if (xEnd - xStart > 20){ 

      //switch to previous tab 
     } 
     if (xEnd - xStart < -20){ 
      //switch to next tab 
     } 
     return true; 
    default: 
     break; 
    } 
    return true; 
} 

ответ

1

Что посмотреть, что onTouch код в? Вы можете попробовать изменить последний последний return true на return false, так что если действие не было движком, событие не будет потребляться представлением.

+0

Большое вам спасибо! Теперь он отлично работает! –

+0

Я установил для возврата false, но он не работает –

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