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 :

Clic sur bouton / Annuler clic


Sujet :

Composants graphiques Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Directeur technique
    Inscrit en
    Novembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2017
    Messages : 44
    Points : 15
    Points
    15
    Par défaut Clic sur bouton / Annuler clic
    Bonsoir tout le monde.
    J'aurais besoin d'aide pour une app que je suis en train de faire sous Android Studio.

    J'ai un bouton, disons Btn1.
    J'aimerais que lorsque je clic sur Btn1, le background change, disons qu'il est bleu et qu'il passe au vert.

    Le problème est le suivant : Je voudrais que lorsque je clic une seconde fois sur Btn1, le background repasse au bleu, comme si j'avais "annuler mon clic".

    Si vous avez une méthode, une piste, je prends.
    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 475
    Points : 587
    Points
    587
    Par défaut
    Salut,

    Il te suffit de créer un boolean dans ton activité, genre btnClicked, et dans le onClick de ton bouton, tu fais un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (btnClicked){
    Btn1.setBackgroundColor(Color.GREEN)}
    else  {
    Btn1.setBackgroundColor(Color.BLUE)}
    }
     
    btnClicked = !btnClicked //pour inverser la valeur du boolean

  3. #3
    Membre à l'essai
    Homme Profil pro
    Directeur technique
    Inscrit en
    Novembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2017
    Messages : 44
    Points : 15
    Points
    15
    Par défaut
    Salut,
    Merci pourbta proposition mais j'ai déjà essayé avec un boolean, le btn change bien de couleur au 1er clic, mais rien ne ce passe lors du 2eme clic.
    N'existe t-il pas une méthode qui me permettrait de retourner à l'état d'origine de mon btn?

  4. #4
    Membre éprouvé Avatar de Drowan
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2014
    Messages : 460
    Points : 1 014
    Points
    1 014
    Par défaut

    Pour qu'on puisse t'aider plus, il faut que tu nous montres ce que tu fais pour réagir à un clic et changer la couleur.
    Parce que la réponse de Turvy est une bonne méthode, donc si ça ne marche pas pour toi il y a peut-être une incompréhension de comment la mettre en place
    "On sera toujours mieux installé assis en 1ère que debout en 2nde", un illustre inconnu


    Avant de poser une question vérifiez si elle n'a pas déjà une réponse dans les cours et tutoriels
    Si votre problème est pensez à marquer la conversation comme telle
    Si un message est utile, pertinent, et/ou vous êtes d'accord avec, pensez à à l'inverse s'il est inutile, faux ou que vous n'êtes pas d'accord, pensez à

  5. #5
    Membre à l'essai
    Homme Profil pro
    Directeur technique
    Inscrit en
    Novembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2017
    Messages : 44
    Points : 15
    Points
    15
    Par défaut
    Salut,

    Voici le code de mon bouton en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    btn1 = findViewById(R.id.niv1q1_btnm);
                                btn1.setOnClickListener(new View.OnClickListener() {
                                    @Override
                                    public void onClick(View v) {
                                        if (Variable_changeColor) {
                                           btn1.setBackgroundColor(Color.GREEN);
                                        } else {
                                            btn1.setBackgroundColor(Color.WHITE);
                                        }
                                        }
                                });
    Le btn1 est blanc a l'origine, il devient vert lorsque je clic dessus, mais reste vert si je clic une seconde fois, j'aimerai qu'il redevienne blanc.

  6. #6
    Membre éprouvé Avatar de Drowan
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2014
    Messages : 460
    Points : 1 014
    Points
    1 014
    Par défaut
    C'est parce qu'il manque la ligne qui inverse ton booleen : Variable_changeColor = !Variable_changeColor;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    btn1 = findViewById(R.id.niv1q1_btnm);btn1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
             if (Variable_changeColor) {
                  btn1.setBackgroundColor(Color.GREEN);
             } else {
                  btn1.setBackgroundColor(Color.WHITE);
             } 
             Variable_changeColor = !Variable_changeColor; //inverse la booléen
          });
    
    "On sera toujours mieux installé assis en 1ère que debout en 2nde", un illustre inconnu


    Avant de poser une question vérifiez si elle n'a pas déjà une réponse dans les cours et tutoriels
    Si votre problème est pensez à marquer la conversation comme telle
    Si un message est utile, pertinent, et/ou vous êtes d'accord avec, pensez à à l'inverse s'il est inutile, faux ou que vous n'êtes pas d'accord, pensez à

  7. #7
    Membre à l'essai
    Homme Profil pro
    Directeur technique
    Inscrit en
    Novembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2017
    Messages : 44
    Points : 15
    Points
    15
    Par défaut
    RE :
    Je confirme, ca marche bien.
    Je met en resolue.
    Encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 01/07/2011, 10h38
  2. pb sur le premier clic sur un bouton
    Par corwin44 dans le forum Access
    Réponses: 6
    Dernier message: 28/10/2005, 09h51
  3. charger nouvelle page par clic sur bouton (pas pop-up)
    Par michaelbob dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/09/2005, 16h04
  4. Detection clic sur bouton precedent
    Par shaun_the_sheep dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 20/10/2004, 17h18
  5. Réponses: 9
    Dernier message: 23/02/2004, 19h14

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