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 :

show() n'affiche pas de message


Sujet :

Android

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 757
    Points : 572
    Points
    572
    Par défaut show() n'affiche pas de message
    Bonjour,

    Je suis en train de faire une appli pour m'exercer.
    C'est un chronomètre qui se compose de deux pages :
    la page mère (MainActivity.java).
    la page fille (MonActivite2.java).
    Depuis la mère , lorsque l'on clique sur le bouton start, un chrono se lance et s'ouvre la page fille qui demande votre nom (je sais, c'est complètement débile mais c'est pas grave ... c'est pour s'entraîner à ouvrir une autre page puis a en récupérer et afficher une donnée transmise de la page fille à la mère !).

    Ensuite, un bouton "valider" nour renvoie vers la page mère en y renvoyant les données pour affichage via la fonction show() qui se trouve à la ligne 84 de la page mère nommée "MainActivity.java".

    mon problème est que rien ne s'affiche lorsque je reviens sur la page mère.

    donc voici mon code page mère : MainActivity.java (avec la fonction show() en ligne 84)
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    package pack.andro_01;
     
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.SystemClock;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.Chronometer;
    import android.widget.Toast;
     
     
    public class MainActivity extends Activity implements OnClickListener{
     
    	//Déclaration des instances des widgets de l'écran "main"
    	Button monBoutonStart;
    	Button monBoutonPause;
    	Button monBoutonReset;
    	Chronometer monChrono;
     
    	/** called when the activity is first created**/
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //Affichage de l'écran de démarrage
            setContentView(R.layout.activity_main);
            //Xréation des instances du bouton et du chrono de l'écran "main"
            monBoutonStart = (Button)findViewById(R.id.monBoutonStartId);
            monBoutonPause = (Button)findViewById(R.id.monBoutonPauseId);
            monBoutonReset = (Button)findViewById(R.id.monBoutonResetId);
            monChrono = (Chronometer)findViewById(R.id.monChronoId);
            //Ecouteur du bouton
            monBoutonStart.setOnClickListener(listenStart);
            monBoutonPause.setOnClickListener(listenStop);
            monBoutonReset.setOnClickListener(listenReset);
        }
     
        private OnClickListener listenStart = new OnClickListener() {
     
    		@Override
    		public void onClick(View v) {
    			// Arrêt du chrono
    			monChrono.start();
    			//Instanciation de l'objet "monIntent" utilisé pour communiquer avec la deuxième activité
    			Intent monIntent = new Intent(MainActivity.this, MonActivite2.class);
    			startActivityForResult(monIntent, 0);
    		}
    	};
     
        private OnClickListener listenStop = new OnClickListener() {
     
    		@Override
    		public void onClick(View v) {
    			// Arrêt du chrono
    			monChrono.stop();
    		}
    	};
     
        private OnClickListener listenReset = new OnClickListener() {
     
    		@Override
    		public void onClick(View v) {
    			// Arrêt du chrono
    			monChrono.setBase(SystemClock.elapsedRealtime());
    			monChrono.stop();
    		}
    	};
     
     
    	@Override
    	public void onClick(View v) {
    		// TODO Auto-generated method stub
     
    	}
     
    	public void OnActivityResult(int requestCode, int resultCode, Intent data)
    	{
    		super.onActivityResult(requestCode,  resultCode,  data);
     
    		//On récupère le message identifié par le paramètre "nom" de l'intent
    		String nom = data.getStringExtra("nom");
    		//On affiche le message
    		Toast.makeText(this,  "Votre nom est : " + nom,  Toast.LENGTH_LONG).show();
    	}
    }

    et voici mon code page fille : MonActivite2.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
    50
    51
    package pack.andro_01;
     
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
     
    public class MonActivite2 extends Activity implements OnClickListener{
     
    	//Déclaration de l'instance du bouton "valider" de l'écran d'édition
    	Button monBtnValider;
     
    	//Déclaration d'un objet de type "EditText"
    	EditText editTextNom;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub
    		super.onCreate(savedInstanceState);
    		//Affichage de l'écr(an d'édition
    		setContentView(R.layout.ecran_edition);
    		//Instanciation de l'objet "monBtnValider" avec le widget de l'écran
    		monBtnValider = (Button)findViewById(R.id.btnValiderId);
    		//Instanciation de l'objet "editTextNom" avec le widget de l'écran
    		editTextNom = (EditText)findViewById(R.id.editTextNomId);
    		//Ecouteur du bouton
    		monBtnValider.setOnClickListener(this);
    	}
     
    	@Override
    	public void onClick(View v) {
    		//traitement après un click sur "valider"
    		//On vérifie que la taille de la chaîne de retouir est supérieure à 0
    		if(editTextNom.getText().length() > 0)
    		{
    			//Instanciation de l'objet "monIntent" utilisé pour communiquer
    			//avec la première activité
    			Intent monIntent2 = new Intent();
    			//On ajoute le nom saisi dans l'Intent
    			monIntent2.putExtra("nom", editTextNom.getText().toString());
    			//on retourne le résultat avec l'intent
    			setResult(RESULT_OK, monIntent2);
    			//On ferme cette activité
    			finish();
    		}
     
    	}
     
    }
    le xml pour MainActivity : "activity_main.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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
     
        <Button
            android:text="Start chrono"
            android:id="@+id/monBoutonStartId"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
        </Button>
        <Button
            android:text="Pause chrono"
            android:id="@+id/monBoutonPauseId"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
        </Button>
        <Button
            android:text="Reset chrono"
            android:id="@+id/monBoutonResetId"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
        </Button>
     
        <Chronometer
            android:text="Chronometer"
            android:id="@+id/monChronoId"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal">
    	</Chronometer>
    </LinearLayout>
    le xml pour MonActivite2 : "ecranEdition.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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?xml version="1.0" encoding="UTF-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <TextView
            android:layout_height="wrap_content"
            android:id="@+id/textView1"
            android:text="coucou ! ma deuxième activité"
            android:layout_width="match_parent">
        </TextView>
        <TextView
            android:layout_height="wrap_content"
            android:id="@+id/textView2"
            android:text="Quel est votre nom ?"
            android:layout_width="match_parent">
    	</TextView>
    	<EditText
    	    android:layout_height="wrap_content"
    	    android:id="@+id/editTextNomId"
    	    android:layout_width="match_parent">
    	    <requestFocus></requestFocus>
    	</EditText>
     
    	<Button
    	    android:id="@+id/btnValiderId"
    	    android:layout_width="wrap_content"
    	    android:layout_height="wrap_content"
    	    android:text="Button" />
     
    </LinearLayout>
    Merci à vous de bien vouloir m'aider !
    OS : LinuxMint 20

  2. #2
    Expert confirmé
    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
    Points : 4 166
    Points
    4 166
    Par défaut
    Facile, ta méthode public void OnActivityResult n'est pas considérée comme un override de public void onActivityResult (avec un 'o' minuscule), et n'est donc jamais invoquée par Android.
    Si tu avais posé une annotation @override, cela ne te serait pas arrivé
    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é
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 757
    Points : 572
    Points
    572
    Par défaut
    Ca fonctionne !

    Merci beaucoup !

    Voici le code retouché :

    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    package pack.andro_01;
     
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.SystemClock;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.Chronometer;
    import android.widget.Toast;
     
     
    public class MainActivity extends Activity implements OnClickListener{
     
    	//Déclaration des instances des widgets de l'écran "main"
    	Button monBoutonStart;
    	Button monBoutonPause;
    	Button monBoutonReset;
    	Chronometer monChrono;
     
    	/** called when the activity is first created**/
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //Affichage de l'écran de démarrage
            setContentView(R.layout.activity_main);
            //Xréation des instances du bouton et du chrono de l'écran "main"
            monBoutonStart = (Button)findViewById(R.id.monBoutonStartId);
            monBoutonPause = (Button)findViewById(R.id.monBoutonPauseId);
            monBoutonReset = (Button)findViewById(R.id.monBoutonResetId);
            monChrono = (Chronometer)findViewById(R.id.monChronoId);
            //Ecouteur du bouton
            monBoutonStart.setOnClickListener(listenStart);
            monBoutonPause.setOnClickListener(listenStop);
            monBoutonReset.setOnClickListener(listenReset);
        }
     
        private OnClickListener listenStart = new OnClickListener() {
     
    		@Override
    		public void onClick(View v) {
    			// Arrêt du chrono
    			monChrono.start();
    			//Instanciation de l'objet "monIntent" utilisé pour communiquer avec la deuxième activité
    			Intent monIntent = new Intent(MainActivity.this, MonActivite2.class);
    			startActivityForResult(monIntent, 0);
    		}
    	};
     
        private OnClickListener listenStop = new OnClickListener() {
     
    		@Override
    		public void onClick(View v) {
    			// Arrêt du chrono
    			monChrono.stop();
    		}
    	};
     
        private OnClickListener listenReset = new OnClickListener() {
     
    		@Override
    		public void onClick(View v) {
    			// Arrêt du chrono
    			monChrono.setBase(SystemClock.elapsedRealtime());
    			monChrono.stop();
    		}
    	};
     
     
    	@Override
    	public void onClick(View v) {
    		// TODO Auto-generated method stub
     
    	}
     
    	@Override
    	public void onActivityResult(int requestCode, int resultCode, Intent data)
    	{
    		super.onActivityResult(requestCode,  resultCode,  data);
     
    		//On récupère le message identifié par le paramètre "nom" de l'intent
    		String nom = data.getStringExtra("Nom");
    		//On affiche le message
    		Toast.makeText(this,  "Votre nom est : " + nom,  Toast.LENGTH_LONG).show();
    	}
    }
    OS : LinuxMint 20

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

Discussions similaires

  1. Débogage : fenêtre console n'affiche pas les messages
    Par pierrepo dans le forum Eclipse C & C++
    Réponses: 2
    Dernier message: 20/06/2009, 14h51
  2. le Validator n'affiche pas les messages
    Par mon_pseudo dans le forum Struts 1
    Réponses: 2
    Dernier message: 11/06/2009, 13h41
  3. Console n'affichant pas de message
    Par Lorenzox dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 09/05/2007, 10h18
  4. Réponses: 2
    Dernier message: 30/04/2007, 10h06
  5. [MySQL] il n'affiche pas les messages reçus
    Par schats dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/04/2007, 10h33

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