J'ai utilisé ce didacticiel http://mobiforge.com/developing/story/using-google-maps-android pour afficher la vue Carte et définir l'événement onTouch pour afficher un message toast (latitude/longitude) lorsque je clique sur une zone particulière. Maintenant, mon problème est que le message Toast est affiché au moment où je touche l'écran, même si c'est pour déplacer la carte? Je veux afficher le toast seulement si le point de retouche et le point de retouche sont les mêmes. Comment puis-je l'implémenter?Android: Comment faire fonctionner onTouch comme onClick?
Répondre
Vérifiez si le bit de déplacement est situé dans le MotionEvent
if(event.getAction() & MotionEvent.ACTION_MOVE == MotionEvent.ACTION_MOVE)
Est-ce la bonne façon de procéder? Je suis sûr qu'il y a un meilleur moyen.
if (event.getAction() == 0) {
touchX = (int) event.getX();
touchY = (int) event.getY();
}
if(event.getAction() == 1) {
if(event.getX() == touchX && event.getY()== touchY){
GeoPoint p = mapView.getProjection().fromPixels((int) event.getX(), (int)event.getY());
Toast.makeText(getBaseContext(),
p.getLatitudeE6()/1E6 + "," +
p.getLongitudeE6() /1E6 ,
Toast.LENGTH_SHORT).show();
}
}
Non, 'event.getAction() == 0' n'est pas correct. 'event.getAction()' retourne tous les drapeaux. Vous devriez juste vérifier pour un bit. –
Cela a fonctionné pour moi, quand je presse vers le bas et faites glisser rien ne se passe, mais si je presse et relâchez-le cela a fonctionné! Tout comme le comportement de OnClickListener.
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP){
// yer Code here ...........
}
return false;
}
Ça marche pour moi :(Il a tiré quand j'ai relâché mon doigt, même si j'ai fait glisser. –
- 1. Android: onTouch pas appelé
- 2. Android Bitmap Questions OnTouch
- 3. Android: onTouch() ne s'appelle jamais?
- 4. Comment faire fonctionner un WakeLock Android?
- 5. Android - Comment faire fonctionner une autre application
- 6. OnTouch(), onClick() s'exécutent séquentiellement dans le même thread?
- 7. GridView onTouch
- 8. Comment faire fonctionner deux bases de données SQLite dans Android
- 9. Android: Comment faire fonctionner RadioGroup correctement dans un ListView?
- 10. android setOnLongClickListner ne fonctionne pas avec l'événement onTouch
- 11. Android: onPrepareDialogBuilder, onClick & setItemChecked
- 12. Faire fonctionner les divs comme des liens appropriés
- 13. Comment faire fonctionner un émulateur Android 1024 x 600?
- 14. Comment faire fonctionner l'exemple de licence Android Market?
- 15. Variable OnClick Listener Android
- 16. Comment faire fonctionner ADB sur x64?
- 17. Comment faire fonctionner JQuery et ASP.Net?
- 18. Comment faire fonctionner FB.api ('/ me/feed', 'post', ...)
- 19. Android onClick bloquant onFling
- 20. Surligner Android ImageButton onclick
- 21. Impossible de faire fonctionner shadowbox
- 22. Comment faire fonctionner l'antialiasing polygonal?
- 23. Comment faire fonctionner DebuggerBrowsable RootHidden?
- 24. Comment faire fonctionner scons correctement
- 25. Comment faire fonctionner l'application embarquée
- 26. Android viewview se comporte comme une listeview
- 27. Bash Impossible de faire fonctionner IF comme je veux
- 28. Faire un assistant comme application dans Android
- 29. Impossible de faire fonctionner dojo.place
- 30. comment je peux faire fonctionner is_english
Je ne comprends pas. Il montre une erreur. –
Quel genre d'erreur? –
Mais pour une raison inconnue, ça ne marche pas :(J'ai toujours le toast affiché au toucher –