Comment gérer le meilleur geste fling pour Android ListActivity

voix
6

J'ai une application Android avec ListActivityla vue principale. La liste contient une LinearLayoutavec TextViewet un bouton de suppression caché. Le bouton Supprimer est masqué par défaut. Je veux utiliser un geste fling pour afficher le bouton. Je suis en mesure de détecter le geste fling grâce à la question # 937313 sur stackoverflow. Il est pas clair pour moi comment déterminer quel élément dans la liste a été culbutés, puisque l'auditeur OnTouch écoute la ListView. L'article est pas nécessairement sélectionné si GetSelected méthodes * ne peuvent pas être utilisées de manière fiable. J'utilise le SimpleListAdaptordonc je n'ai pas accès direct aux objets de vue dans la ListView.

Des idées?

Créé 27/08/2009 à 02:51
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
14

Essayez d' utiliser AbsListView.pointToPosition () pour déterminer l'élément de liste pour la coordonnées X, Y dans votre affichage de la liste.

Si vous utilisez la recette de # 937313 , vous devriez être en mesure de passer outre onFling()plus ou moins comme suit:

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
    try {
        Toast.makeText(listAdapter.getItem( listView.pointToPosition( (int) e1.getX(), (int) e1.getY() ).toString() );
        return super.onFling();
    } catch( Exception e ) {
        // do nothing
    }
}
Créé 01/09/2009 à 06:36
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more