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

Composants graphiques Android Discussion :

Fonction d'un bouton en loop checkBox


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 139
    Par défaut Fonction d'un bouton en loop checkBox
    Bonjour,

    J'ai un listener d'event d'un bouton (onInitButtonClick) qui permet d'afficher un compteur incrémenté à chaque clic dans un TextView de la même activité. Chaque clic de bouton affiche la nouvelle valeur du compteur, jusque-là pas de problème.
    Or j'ai rajouté à mon activité une CheckBox "Loop" qui permet de rejouer la séquence associée à la méthode onInitButtonClick tant que la CheckBox reste cochée. Autrement dit, j'aimerais que l'incrément du compteur se fasse tout seul dans ma TextView, tant que je n'ai pas désélectionné ma CheckBox Loop.

    Seulement, si je mets une boucle dans ma méthode de listener vérifiant l'état de la CheckBox, je n'ai plus d'affichage dans ma TextView et je ne peux pas non plus décocher ma CheckBox (seulement dans les logs).

    Quelqu'un aurait une idée de comment implémenter cette fonction ?

    Merci d'avance pour votre aide.

  2. #2
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Il faut réaliser ta boucle dans un Thread séparé, synchronisé avec l'UI Thread pour mettre à jour ton textview.

    Mieux qu'une boucle while, l'idéal étant d'envoyer un message toutes les xx secondes au UIThread (Voir du coté des classes Handler, Runnable, Timer, Looper, ScheduledExecutorService ...)
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 139
    Par défaut
    ok merci de ta réponse,

    donc en clair dans mon listener bouton je démarre le Thread qui va checker l'état du checkbox et tant que le CheckBox et à true je processe la commande en boucle ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 139
    Par défaut
    mais le problème démarrant un Thread indépendant de mon activité je perds le contexte UI ce qui me pose pas mal de problèmes d'intégration...
    y a t'il un moyen de fournir à ce Thread le contexte de l''activité pour qu'il puisse rajouter du contenu dans le TextView ?

    aurais tu un exemple de code ?

    Merci,
    Tiamat.

  5. #5
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    A toi d'amener la référence à ton objet texview à ton thread, via un constructeur typiquement. Et s'assurer que ton thread soit synchronisé avec l'UI, via runOnUIThread() par exemple.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

Discussions similaires

  1. Comment charger un formulaire en fonction d'un bouton radio
    Par FredKéKé dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 31/01/2006, 13h14
  2. Comment lancer cette fonction sur un bouton ?
    Par jeronimo dans le forum Access
    Réponses: 2
    Dernier message: 26/01/2006, 11h33
  3. [VB.Net] Problème appel fonction par un bouton
    Par balibo dans le forum ASP.NET
    Réponses: 4
    Dernier message: 25/11/2005, 10h48
  4. fonction pour compter le nombre de checkbox coché ?
    Par Death83 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/09/2005, 11h28
  5. Bouton pour cocher checkbox
    Par eidole62 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/04/2005, 16h28

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