Ich möchte in meiner App das gleiche Verhalten der nativen Kontakte App haben. Insbesondere würde ich gerne den Swipe rechts für den Anruf und den Swipe für den textmsg nach links implementieren. Ich habe eine ListView, ich habe das ArrayAdapter gesetzt und ich habe den Gesten-Detektor für die onFlingMethode implementiert. Ich nehme die Swipe-Seite richtig ab und kann die Call-App aufspielen. Ich muss die Artikelnummer (und andere Informationen) in den Intent legen, also muss ich den Artikel über den Artikel ziehen. Hier mein Code.
%Vor% Ich löse dieses Problem mit ListView.pointToPosition()
Methode.
Hier mein Code-Fragment:
%Vor% Zuerst erhalten Sie die rowID von list.pointToPosition((int) e1.getX(), (int) e1.getY());
und machen damit alles was Sie wollen. In meinem Fall ist Reminder der Typ von Objekten in meinem benutzerdefinierten Array-Adapter für die Liste.
Ich würde annehmen, dass der GestureListener der Zeile hinzugefügt werden muss, wie Sie es mit dem OnClickListener anstelle der Hauptaktivität tun.
Wenn Sie eine große Liste haben, würde das eine Menge von GestenListeners bedeuten und die Leistung beeinträchtigen. In diesem Fall ist es besser, zu berechnen, welche Ansicht mit der Swipe-Position und den Ansichten durchsucht wurde.