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 :

Ecrire dans un champs de texte depuis une autre activité


Sujet :

Android

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Ecrire dans un champs de texte depuis une autre activité
    Bonjour à tous amis codeurs !

    Je viens de me lancer dans le développement d’application et je rencontre un problème que je n'arrive pas à résoudre avec mon ami Google ! Je souhaite faire une petite application où sur l'écran d'accueil apparaissent "NOM" et "PRENOM" avec les champs vides à coté. Ensuite en allant sur la deuxième activité de l’application on pourrait les éditer par un "EditText" et donc retourner à l'activité principale où apparaissent les nouveaux NOM et PRENOM. Niveau interface c'est plutôt bon c'est le code qui ne veut pas, enfin je pense.

    MainActivity
    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
    package shorveno.applicationsante;
     
    import android.app.Activity;
    import android.content.Intent;
    import android.view.View;
    import android.os.Bundle;
    import android.widget.TextView;
     
     
    public class MainActivity extends Activity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            TextView t1 = (TextView) findViewById(R.id.name);
            t1.setText(getIntent().getStringExtra("val1") ); //Je veux écrire mon nom la dedans
            TextView t2 = (TextView) findViewById(R.id.firstname);
            t2.setText(getIntent().getStringExtra("val2")); //Je veux écrire mon prénom la dedans
        }
     
        public void onClick(View view){
            Intent i = new Intent(this,informations.class);
            startActivity(i);
     
        }
     
    }
    SecondActivity
    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
    package shorveno.applicationsante;
     
    import android.app.Activity;
    import android.content.Intent;
    import android.net.Uri;
    import android.view.View;
    import android.os.Bundle;
    //import android.view.Menu;
    //import android.view.MenuItem;
    import android.widget.EditText;
    import android.widget.Toast;
     
    public class informations extends Activity{
        public String name;
        public String firstname;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.informations);
        }
     
        public void onClick(View view){
            Intent data = new Intent();
            EditText txt_username=(EditText) findViewById(R.id.txt_userName); //Champ de saisie du nom
            EditText txt_userfirstname=(EditText) findViewById(R.id.txt_userFirstName); //Champ de saisie du prenom
            name = txt_username.getText().toString();
            firstname = txt_userfirstname.getText().toString();
            Bundle bundle = new Bundle();
            bundle.putString("val1",name);
            bundle.putString("val2",firstname);
            data.putExtras(bundle);
            Toast.makeText(this,bundle.getString("val1"),Toast.LENGTH_SHORT).show(); //Les données passent et sont afficher dans le pop-up
            Toast.makeText(this,bundle.getString("val2"),Toast.LENGTH_SHORT).show(); //Les données passent et sont afficher dans le pop-up
            finish();
        }
    }
    Je m'excuse d'avance si mon code vous pique les yeux, il est possible qu'il comporte des erreurs mais on a tous débuter un jour ou l'autre !

  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
    Il faut utiliser startActivityFoResult pour ce que tu souhaites. Voici grossièrement l'idée :

    Code java : 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
     
    public class MainActivity extends Activity {
     
    ...
     
    public void onClick(View view){
            Intent i = new Intent(this,informations.class);
            startActivityForResult(i,1);  // Changement ici !
    }
     
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            TextView t1 = (TextView) findViewById(R.id.name);
            t1.setText(data.getStringExtra("val1") );
            TextView t2 = (TextView) findViewById(R.id.firstname);
            t2.setText(data.getStringExtra("val2")); 
    }
     
    }


    Code java : 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
     
    public class Informations extends Activity { //la classe doit commencer par une majuscule, nom de dieu !!
     
    ...
     
    public void onClick(View view){
            Intent data = new Intent();
            EditText txt_username=(EditText) findViewById(R.id.txt_userName); //Champ de saisie du nom
            EditText txt_userfirstname=(EditText) findViewById(R.id.txt_userFirstName); //Champ de saisie du prenom
            name = txt_username.getText().toString();
            firstname = txt_userfirstname.getText().toString();
            Bundle bundle = new Bundle();
            bundle.putString("val1",name);
            bundle.putString("val2",firstname);
            data.putExtras(bundle);
     
            setResult(RESULT_OK, data);  //très important
            finish();
        }
     
    }
    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

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

Discussions similaires

  1. effectuer une action depuis une autre activité
    Par danieldou dans le forum Android
    Réponses: 4
    Dernier message: 05/03/2014, 09h20
  2. [AC-2010] Récupération de texte depuis une autre application
    Par talere dans le forum VBA Access
    Réponses: 1
    Dernier message: 02/09/2013, 21h13
  3. Recuperation texte depuis une autre application
    Par talere dans le forum VBA Project
    Réponses: 1
    Dernier message: 02/09/2013, 11h44
  4. Réponses: 4
    Dernier message: 01/05/2009, 15h41
  5. Ecrire du texte depuis une variable dans une vue
    Par Vlad_Oliv dans le forum MFC
    Réponses: 1
    Dernier message: 09/01/2007, 17h28

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