2010-09-30 33 views
0

Il s'agit principalement d'une question de conception. J'ai implémenté SimpleOnGestureListener sur un ItemizedOverlay parce que je voulais attraper l'événement onLongPress ainsi que les événements onDown et onTap. Tout fonctionne bien, mais maintenant je dois passer à une nouvelle activité sur un événement onLongPress spécifique. Dans ce cas particulier, une boîte de dialogue d'alerte est insuffisante pour mes besoins. Le problème est la transition de l'overlay à une activité et de retour à l'overlay. Habituellement, c'est d'une activité à l'autre et peut-être de retour. De plus, le code de ma classe de superposition devient assez long (environ 450 lignes) donc il faut refactoriser et un peu plus de SRP. Je ne vois aucun moyen d'attacher le SimpleOnGestureListener à l'Overlay à partir de l'activité qui le référence, ni MapView. La plupart des exemples que j'ai regardés sont des exemples de "faire un toast".Comment implémenter SimpleOnGestureListener dans l'activité

Répondre

0

Je ne suis pas tout à fait sûr si je reçois votre question correctement, mais vous pouvez avoir une transition inter-vue, par ex. avec ViewFlipper ou FrameLayout avec un détecteur de fling.

Vous pouvez voir comment le stock calculator gère sa transition.

+0

Merci pour le commentaire Endian. Ce n'était pas tellement une transition ou une animation que je regardais, c'était plus à faire avec du ballonnement de code dans mon ItemizedOverlay. Mon refactoring ultérieur a réduit mon code dans cette classe à 280 lignes et je peux maintenant gérer ce que je voulais faire sur le longPress en utilisant une boîte de dialogue, donc je n'ai pas besoin de passer à une autre activité et de retourner à MapView. –