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 :

Détection de la fin d'un événement OnLongClickListener


Sujet :

Android

  1. #1
    Futur Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 5
    Points : 8
    Points
    8
    Par défaut Détection de la fin d'un événement OnLongClickListener
    Bonjour,

    Je recontre actuelement un problème avec la gestion des evenements OnClick/OnLongClick/OnTouch :

    J'ai une variable que je dois incrémenter de 1 par appuis sur un bouton, et de 5 par seconde lorsque je reste appuyé.

    Pour gerer l'appuis long j'utilise un flag et un timer, lors de l'evenement OnLongClickListener je met le flag et un timer incremente ma variable, ce flag est redescendu dans l'evenement OnClickListener qui intervient lorsque l'on relache le bouton. Cela fonctionne correctement mais :

    Si l'utilisateur appuis sur le bouton, reste appuyé, déplace son doigt en dehors de la zone du bouton et retire son doigt. On ne repasse par par le OnClickListener et du coup mon flag reste à 1 et ma variable continue de s'incrementer.

    Pour resoudre le problème j'ai essayer de passer par le OnTouchListener, mais celui ci ne se déclenche que si l'utilisateur bouge son doigt, si il reste statique l'evenement n'est pas rappelé.

    Je pense que j'ai du prendre le problème un peu a l'envers à la base. Si vous avez des idées pour ameliorer cette fonction je suis prenneur

    Merci d'avance,
    Mathieu

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    Bonjour,

    Utilises le OnTouchListener.
    Celui ci te renvoie un MotionEvent.
    Tu peux récupérer le temps lors de la première pression ACTION_DOWN avec la fonction getEventTime(). Puis, re-récupère ce temps lorsque la pression est arrêtée ACTION_UP. Soustrais les deux timers, si cela donne 800ms alors c'est considéré comme un appuie long.

Discussions similaires

  1. détection de la fin d'un téléchargement
    Par gerard tarquin dans le forum Réseau/Web
    Réponses: 5
    Dernier message: 28/05/2007, 19h34
  2. Réponses: 2
    Dernier message: 25/07/2006, 13h11
  3. Réponses: 13
    Dernier message: 04/11/2005, 11h58
  4. [MFC]Détection de la fin d'un thread
    Par Oberown dans le forum MFC
    Réponses: 17
    Dernier message: 25/08/2004, 11h51

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