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 :

3 boutons = 3 actions différentes / COMMENT FAIRE ?


Sujet :

Composants graphiques Android

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 11
    Points : 12
    Points
    12
    Par défaut 3 boutons = 3 actions différentes / COMMENT FAIRE ?
    Bonjour à tous,

    Je viens chercher votre secours car je ne suis pas très très fort en Java et du coup encore moins en Android mais je dois faire une application pour mes cours
    Bref en gros j'aimerai mettre 3 boutons sur ma page d'accueil de mon appli et que chaque bouton renvoie une action différente. Et je n'arrive pas à faire ça. Aujourd'hui tout mes boutons renvoient la même chose et quand je trouve des bous de code sur java pour faire ça j'ai une erreur au lancement de mon appli sur mon émulateur.
    Bref j'ai besoin d'aide et je suis certain que c'est tout simple...

    Merci d'avance !

    Xgr8

  2. #2
    Membre habitué
    Homme Profil pro
    Chef de projet, développeur .net
    Inscrit en
    Juin 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet, développeur .net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 76
    Points : 136
    Points
    136
    Par défaut
    Bonjour,
    tu as plusieurs façon de faire ça en java, mais dans tous les cas tu dois affecter un (ou des) actionListener à tes boutons.


    Donc sois tu met un seul action Listener et dans celui ci tu gére en fonction de la source de l'événement ou alors tu créés un actionListener par bouton.

    Pour pouvoir plus t'aider, l'idéal serait de nous montrer le bout de code ou tu créer et affecte des actions à tes boutons

  3. #3
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Salut,

    Tu peux regarder ici , ça reprend ce que t'as expliqué ElSpopo sur le listener des buttons

    http://developer.android.com/guide/t...ui-events.html
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 11
    Points : 12
    Points
    12
    Par défaut Besoin de plus d'aide
    Bonsoir et merci Feanorin et ElSopo pour vos réponses. Malheureusement je n'y arrive toujours pas... voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    package com.exemple.totenexp;
     
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;
     
    public class TotEnExp extends Activity {
        /** Called when the activity is first created. */
     
        protected TextView text; 
     
        private OnClickListener helpButtonListener = new OnClickListener(){
        	public void onClick(View v){
        		text.setText("Help");
        	}
        };
     
        private OnClickListener calculateButtonListener = new OnClickListener(){
        	public void onClick(View v){
        		text.setText("Calculate");
        	}
        };
     
        private OnClickListener historicButtonListener = new OnClickListener(){
        	public void onClick(View v){
        		text.setText("historic");
        	}
        };
     
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
           Button helpButton = (Button) findViewById(R.id.help_button);
           helpButton.setOnClickListener(helpButtonListener);
     
           Button calculateButton = (Button) findViewById(R.id.calculate_button);
           calculateButton.setOnClickListener(calculateButtonListener);
     
           Button historicButton = (Button) findViewById(R.id.historic_button);
           historicButton.setOnClickListener(historicButtonListener);
     
     
        }
     
    }
    Mais ça ne marche pas. Quand je clique sur le premier bouton ça m'affiche que l'application doit se fermer et si je clique sur les autres boutons ça ne fait rien. Alors j'arrive à faire fonctionner un bouton quand j'implémente OnClickListener dans Activity mais cette solution ne me permet pas de différencier plusieurs boutons... Bref HELP again

    Merci d'avance.

  5. #5
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Ton composant "text" n'est jamais initialisé.
    Pense à utiliser le debugueur pour ce genre d'erreur.


    Tu peux essayé ça si tu voir une diff :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    package com.exemple.totenexp;
     
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;
     
    public class TotEnExp extends Activity {
        /** Called when the activity is first created. */
     
        protected TextView text; 
     
        private OnClickListener helpButtonListener = new OnClickListener(){
        	public void onClick(View v){
                    Toast.makeText(TotEnExp.this, "Help", Toast.LENGTH_LONG).show();
    //    		text.setText("Help");
        	}
        };
     
        private OnClickListener calculateButtonListener = new OnClickListener(){
        	public void onClick(View v){
                    Toast.makeText(TotEnExp.this, "Calculate", Toast.LENGTH_LONG).show();
        		//text.setText("Calculate");
        	}
        };
     
        private OnClickListener historicButtonListener = new OnClickListener(){
        	public void onClick(View v){
                   Toast.makeText(TotEnExp.this, "historic", Toast.LENGTH_LONG).show();
        	        //text.setText("historic");
        	}
        };
     
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
           Button helpButton = (Button) findViewById(R.id.help_button);
           helpButton.setOnClickListener(helpButtonListener);
     
           Button calculateButton = (Button) findViewById(R.id.calculate_button);
           calculateButton.setOnClickListener(calculateButtonListener);
     
           Button historicButton = (Button) findViewById(R.id.historic_button);
           historicButton.setOnClickListener(historicButtonListener);
     
     
        }
     
    }
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  6. #6
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 11
    Points : 12
    Points
    12
    Par défaut Merci
    Ha merci beaucoup MrDuChnok j'ai été trop nul sur ce coup-ci ! Mais maintenant ça marche j'ai initialisé mon composant text et c'est bon ça marche comme je veux. Maintenant reste à faire que chaque bouton me retourne vers une activity différente et pour cela je vais suivre le Tuto que je crois tu m'as déjà indiqué.

    Peut être à très bientôt et merci encore

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/08/2013, 11h57
  2. Réponses: 4
    Dernier message: 04/11/2012, 11h26
  3. [WD15] 2 bases sur 2 serveurs différents. Comment faire un ALIAS
    Par EriCstoFF dans le forum WinDev
    Réponses: 7
    Dernier message: 29/12/2010, 14h32
  4. Réponses: 4
    Dernier message: 03/04/2005, 14h26
  5. Réponses: 2
    Dernier message: 03/02/2005, 08h59

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