comment mettre en œuvre à la fois ontouch et aussi onfling dans un même listview?
j'ai une listview et mis en œuvre onclick et aussi onfling.problème, c'est quand je ne fling(balayez vers la gauche ou vers la droite), l'événement onclick de la listview est également exécutée.Comment surmonter ce problème? comment différencier le toucher(tap) et les jeter(glisser) dans listview?
listClickListener = new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,int position, long id) {
//Job of Onclick Listener
}
};
mContactList.setOnItemClickListener(listClickListener);
mContactList.setAdapter(adapter);
//Gesture detection
gestureDetector = new GestureDetector(new MyGestureDetector(prosNos));
gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) {
return true;
}
return false;
}
};
mContactList.setOnTouchListener(gestureListener);
}
public class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
//My fling event
return false;
}
}
P. S. Est-il possible? pour commenter le OnClickListener de la ListView et écrit de la même logique à tout onTouchEvent? mais encore, je n'ai aucun doute que onFling appellera onTouch. Suis-je le droit?
Essayez ces pour de plus amples renseignements, ils m'ont aidé à mettre en œuvre ce que vous cherchez. zdnet.com/blog/burnette/... android-journey.blogspot.com/2010/01/android-gestures.html
thank u pour le poste.lorsque je remplace la ontouch fonction au sein de MyGestureDetector classe, il n'est pas de travail. est-il possible de faire cela? sinon je dois avoir dans touchlistener?
yep, j'ai trouvé ça aussi. Yep, devient un peu confus, n'est-ce pas. Beaucoup de ces exemples vous permettront de vous ajouter du code à la onTouch méthode, mais vous voudrez souvent cela se rapportent à la MyGestureDetector classes de méthodes.
Je vais poster un exemple. Ne peut pas garantir qu'il fonctionnera comme son pseudo code.
thank u pour le poste.lorsque je remplace la ontouch fonction au sein de MyGestureDetector classe, il n'est pas de travail. est-il possible de faire cela? sinon je dois avoir dans touchlistener?
yep, j'ai trouvé ça aussi. Yep, devient un peu confus, n'est-ce pas. Beaucoup de ces exemples vous permettront de vous ajouter du code à la onTouch méthode, mais vous voudrez souvent cela se rapportent à la MyGestureDetector classes de méthodes.
Je vais poster un exemple. Ne peut pas garantir qu'il fonctionnera comme son pseudo code.
OriginalL'auteur Ads | 2010-11-15
Vous devez vous connecter pour publier un commentaire.
Pseudo-code de répondre à clarifier les commentaires ci-dessus. Comment faire pour avoir les MySimpleGestureListener de onTouch méthode appelée.
Vous avez trouvé le problème exact de la mienne...désolé j'ai oublié de retourner la valeur true lorsque l'événement est exécuté
dans l'émulateur onfling méthode fonctionne bien.Mais dans le périphérique, il n'est pas de travail? j'espère que le geste n'est pas reconnu par l'appareil. comment faire pour que le travail?
désolé dans le dispositif de son travail bien!
Je voulais juste dire que cela a fonctionné pour moi que quand je suis retourné véritable dans onDown().
OriginalL'auteur Emile
Attraper le Multi Cliquez sur l'Événement
- Je Résoudre ce problème de cette manière, Il est assez Simple!
OriginalL'auteur Sohaib Aslam