2012-08-03 3 views
1

J'ai un ListView et je veux détecter des gestes. Fondamentalement, un balayage horizontal sur un élément de la liste. Maintenant je gonfle juste la vue de liste et ai un ViewHolder. Où dois-je placer le GestureDetector? Devrait-il être une variable du ViewHolder? Il n'y a pas de classe de vue séparée. Que devrait mettre en œuvre les méthodes de rappel? L'activité? Tout ce que j'ai pour mes ListItems est un ViewHolder dans l'adaptateur. Le balayage est également détecté via onFling()?Où placer GestureDetector dans ListView

+0

On dirait que c'est la réponse. http://stackoverflow.com/questions/4030389/how-to-implement-fling-in-android-listview Cependant, je voudrais savoir comment implémenter MyGestureDetector pour une vue en liste. –

Répondre

0

Placez votre détecteur de mouvements dans ListActivity/ListFragment et utilisez-le pour déterminer quel élément de liste a été lancé. Lorsque vous implémentez le GestureDetector, il peut interférer avec les événements tactiles normaux, il est donc bon de remplacer onSingleTapUp pour les événements de clic.

EDIT: cela a été answered ailleurs