2010-07-26 7 views
0

Mon application a trois pages (trois onglets) et je veux basculer entre deux gridviews en déplaçant le doigt horizontalement. Le code tactile fonctionne bien, mais je ne peux plus cliquer sur les éléments de la grille! J'utilise la méthode onItemClickListener (onClickListener ne fonctionne pas sur Gridview) mais l'élément de la grille n'est pas cliqué. Merci pour votre aide!Android, GridView et onTouchListener

Le code est:

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; 
} 

Répondre

1

Quelle vue est que le code OnTouch dans? Vous pouvez essayer de changer ce dernier return true en return false de sorte que si l'action n'était pas un événement, l'événement n'est pas consommé par la vue.

+0

Merci beaucoup! Cela fonctionne bien maintenant! –

+0

Je définis pour retourner false mais cela ne fonctionne pas –