IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Gestion action sur muliple cliques


Sujet :

Android

  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut Gestion action sur muliple cliques
    Bonjour,

    Je me demandais quelle est la meilleur façon de gérer le double clique sur un bouton ?
    Typiquement, j'ai un bouton qui permet de gérer la connexion dans l'application mais si l'utilisateur clique 2 fois rapidement (le deuxième ayant lieu avant la réponse du serveur) sur le bouton, je me retrouve dans un état non attendu.
    Il y a-t-il des patterns connus pour gérer ce genre de problème ?

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Désactiver le bouton dès que tu commences l'action et le réactiver au retour de celle-ci.
    C'est le seul truc que j'ai en tête pour éviter les "monkey input".
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Ou encore l'affichage d'une progress dialog qui bloquera toute intéraction avec le soft (et appeler le "cancel" de l'async-task si l'utilisateur fait "back").
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Pour l'avoir essayé, je préfère coupler les deux (désactiver + rendre la vue inaccessible). Dans certains cas, la progress dialog met trop de temps à apparaître et l'utilisateur peut cliquer plusieurs fois :/
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    BOnjour ,
    setEnable true/false ça va resoudre votre problème...

  6. #6
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Oui, mais setEnabled fait un résultat "moche" (à mon avis)

    L'utilisateur voit un bouton, et il ne peut rien faire dessus, et il n'y a aucun retour de l'UI...
    Quand l'utilisateur ne peut pas faire une action il faut toujours lui dire pourquoi.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    Citation Envoyé par Hizin Voir le message
    Pour l'avoir essayé, je préfère coupler les deux (désactiver + rendre la vue inaccessible). Dans certains cas, la progress dialog met trop de temps à apparaître et l'utilisateur peut cliquer plusieurs fois :/
    Oui j'ai eu ce problème pour switcher entre 2 vues si l'utilisateur cliquait très vite 2 fois, ça faisait planter l'appli (AlreadyActiveFragmentException ou un truc de genre).
    Du coup, je pense que je vais faire ma propre classe SmartButton qui desactivera le bouton dans le onClick, et dans le onResume de MyFragment, je ferai un parcours de l'arborescence de la vue et si j'ai un composant de type SmartButton, je l'active. Pas sur que ce soit génial d'un point de vue perf. Par contre comme ça, je n'ai pas besoin de modifier toute la structure de mon appli (je suis en phase de debug)

    Bon sinon j'ai toujours la possiblité de mettre un verrou + un boolean enCours pour chaque action.

Discussions similaires

  1. Problème pour réaliser une action lors du clique sur le bouton menu ou back
    Par FunckyWarrior dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 29/05/2013, 14h39
  2. Creer un CommandButton avec control.add puis lui affecter une action sur le clique
    Par Limace_hurlante dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 18/02/2013, 23h39
  3. Réponses: 0
    Dernier message: 14/11/2010, 14h59
  4. Réponses: 10
    Dernier message: 11/04/2008, 13h37
  5. [Flash MX] Action sur un bouton
    Par WriteLN dans le forum Flash
    Réponses: 9
    Dernier message: 20/10/2003, 14h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo