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 :

Mise en relation des boutons du .xml avec le .java possible ?


Sujet :

Composants graphiques Android

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Mise en relation des boutons du .xml avec le .java possible ?
    Bonjour,

    Je débute la programmation pour android pour le plaisir (car avant je faisais du C++ et C# mais pas de java arf, et moi qui ne voulait pas m'y mettre ) et je me posais une question.

    J'utilise Eclipse avec les plugins android.
    J'arrive à créer une interface graphique avec le .xml qui fonctionne avec l'émulateur cependant je cherche à mettre des actions sur les boutons créé par exemple, mais cela sans succès.

    J'arrive par contre à créer des bouton avec des actions (onClick par exemple) sur le .java et dès que je met des boutons (par exemple) sur le .java, ceux du .xml ne sont plus apparant avec l'émulateur.
    J'ai même essayé de reprendre les id du .xml pour le .java mais rien n'y fait.

    Donc ma question: Y a t'il un rapport entre ces deux fichiers lorsqu'on met des actions ? et si oui, comment mettre en relation les boutons du .xml avec le .java afin de garder la création du .xml ?

    (oui ok ça en fait 2 lol)


    Merci et à bientôt.


    ------------------------------
    Eclipse:
    Version: Indigo Release
    Build id: 20110615-0604
    Android 2.3.3
    ------------------------------

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Dans ton xml, le bouton doit avoir un identifiant (+@id/identifiant)

    Ensuite dans le code java, il te suffit d'écrire ceci pour le récupérer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Button monBouton = (Button)findViewById(R.id.identifiant);
    monBouton.setOnClickListener(this);

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    Salut Simonmarky,
    merci pour ta réponse mais je continue à rencontrer un problème.
    Lorsque je fait ça, j'ai comme message que l'application à dû se fermer subitement, etc.


    JAVA
    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
     
    package damien.k.testbouton2;
     
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.Button;
    import android.view.View;
    import android.widget.Toast;
     
    public class Testbouton2Activity extends Activity 
    {
     
        Toast test;
        Button btn = (Button)findViewById(R.id.btn1);
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
            btn.setOnClickListener(new View.OnClickListener() 
            {
            	public void onClick(View v)
            	{
            		notif();
            	}           
            });      
        }
     
        public void notif()
        {
    	Toast.makeText(this, "TEST", 10);
        	test = Toast.makeText(this, "TEST", 10);
            test.show();
        }
    }

    XML
    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
     
        <Button 
        	android:id="@+id/btn1" 	
        	android:text="Coucou" 
        	android:layout_width="wrap_content" 
        	android:layout_height="wrap_content" 
        />
     
    </LinearLayout>
    --------------------------------------------

    et lorsque je fais ceci, ça fonctionne:

    JAVA

    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
     
    package damien.k.testbouton2;
     
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.Button;
    import android.view.View;
    import android.widget.Toast;
    import android.widget.LinearLayout;
     
    public class Testbouton2Activity extends Activity 
    {
     
       Toast test;
       Button btn;
       LinearLayout affichage;
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
            btn = new Button(this);
            btn.setMinimumWidth(100);
            btn.setText("Coucou");
     
            affichage = new LinearLayout(this);
            affichage.addView(btn);
            affichage.setOrientation(1);
            setContentView(affichage);
     
            btn.setOnClickListener(new View.OnClickListener() 
            {
            	public void onClick(View v)
            	{
            		notif();
            	}           
            });      
        }
     
        public void notif()
        {
    	Toast.makeText(this, "TEST", 10);
        	test = Toast.makeText(this, "TEST", 10);
            test.show();
        }
    }

    J'ai essayé de donner le même nom au bouton dans le java et xml mais rien n'y fait. J'avoue être un peu perdu

  4. #4
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    Citation Envoyé par KiKoM@So Voir le message
    Salut Simonmarky,
    merci pour ta réponse mais je continue à rencontrer un problème.
    Lorsque je fait ça, j'ai comme message que l'application à dû se fermer subitement, etc.

    J'ai essayé de donner le même nom au bouton dans le java et xml mais rien n'y fait. J'avoue être un peu perdu
    Bonsoir.

    C'est normal, le findViewById doit être appelé dans le code, après que la méthode setContentView ait été exécutée.
    En gros ça donne ceci :
    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
    public class Testbouton2Activity extends Activity 
    {
     
        Toast test;
        Button btn;
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            btn = (Button)findViewById(R.id.btn1);
            btn.setOnClickListener(new View.OnClickListener() 
            ...
    Bonne continuation.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    Haaa... ok !
    Merci beaucoup

    J'avais essayé comme ça aussi mais j'avais oublié de le créer le bouton avant lol.
    Dur de s'y remettre j'avoue ^^.

    Encore merci
    +++

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

Discussions similaires

  1. Mise en place des boutons
    Par MomoAss dans le forum Débuter
    Réponses: 0
    Dernier message: 23/08/2012, 13h37
  2. Mise en place d'une lecture XML avec DTD
    Par cyrilaymard dans le forum XML
    Réponses: 1
    Dernier message: 01/12/2011, 09h52
  3. Mise en place des Throttling Login Attempts avec CAS
    Par martopioche dans le forum Sécurité
    Réponses: 1
    Dernier message: 30/09/2011, 17h33
  4. [XL-2003] Mise en forme des boutons dans excel
    Par joums dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/09/2009, 17h09
  5. [Tableaux] Mise en relation des membres ?
    Par isa150183 dans le forum Langage
    Réponses: 9
    Dernier message: 20/12/2005, 23h36

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