Partage
  • Partager sur Facebook
  • Partager sur Twitter

Passer des données entre deux Activités

viewBindin, Kotlin

    11 janvier 2023 à 10:52:48

    our

    je voudrais passer les information des edittext vers une SecondActivity.

    Pour le moment je parviens à naviger entre les deux Activités, mais les données ne sont pas transmises.

    si quelqu'un a une idée. j'utilise le viewBinding, voici mon code et le disign, merci d'avance.

     if (firstName.trim().isNotEmpty() && lastName.trim().isNotEmpty() && etCats.trim()
                        .isNotEmpty() && etDogs.trim().isNotEmpty()
                ) {
                    //Toast.makeText(this, "Informations transmises avec succés", Toast.LENGTH_SHORT)
                       // .show()
                    Snackbar.make(it,"$firstName Bienvenue, vos informations seront transmises", Snackbar.LENGTH_LONG ).show()
    
                   val monIntent = Intent(this, SecondActivity::class.java)
                    monIntent.putExtra("nom",Binding.firstName.text.toString())
                    monIntent.putExtra("last Name:", Binding.lastName.text.toString())
                    monIntent.putExtra("nbr cats", Binding.etCats.text.toString())
                    monIntent.putExtra("nbr dogs", Binding.etDogs.text.toString())
    
                    startActivity(monIntent)
    
                } else {
                    Snackbar.make(it,"$firstName veuiller remplir les champs vides", Snackbar.LENGTH_LONG ).show()
                }

    -
    Edité par mgf 11 janvier 2023 à 10:54:25

    • Partager sur Facebook
    • Partager sur Twitter
      17 janvier 2023 à 9:47:17

      Il existe plusieurs façons de passer des données d'une activité à une autre, mais voici un exemple de comment passer les données d'un EditText à une SecondActivity en utilisant le viewbinding :

        1. Dans votre première activité, créez une variable pour stocker les données de l'EditText. Par exemple :
        2. String data;
          
        3. Utilisez viewbinding pour récupérer les données de l'EditText et stocker dans la variable. Par exemple :
        4. data = binding.editText.getText().toString();
        5. Créez un Intent pour ouvrir votre SecondActivity. Par exemple :
        6. Intent intent = new Intent(this, SecondActivity.class);
        7. Utilisez la méthode putExtra() pour passer les données à votre SecondActivity. Par exemple :
        8. intent.putExtra("data", data);
        9. Appelez la méthode startActivity() pour démarrer votre SecondActivity. Par exemple :
        10. startActivity(intent);
        11. Dans votre SecondActivity, utilisez la méthode getIntent() pour récupérer les données passées. Par exemple :
        12. Intent intent = getIntent();
          String data = intent.getStringExtra("data");
        13. Utilisez les données récupérées pour effectuer des opérations ou les afficher dans une vue.

      Il est important de noter qu'il est important de vérifier si les données existent avant de les utiliser pour éviter des erreurs.

      • Partager sur Facebook
      • Partager sur Twitter
        18 janvier 2023 à 14:08:25

        Bonjour

        dans ma mainActivity j'ai ca: 

                Binding.submit.setOnClickListener {
                    val firstName = Binding.firstName.text.toString()
                    val lastName = Binding.lastName.text.toString()
                    val etCats = Binding.etCats.text.toString()
                    val etDogs = Binding.etDogs.text.toString()
        
                    if (firstName.trim().isNotEmpty() && lastName.trim().isNotEmpty() && etCats.trim()
                            .isNotEmpty() && etDogs.trim().isNotEmpty()
                    ) {
                        //Toast.makeText(this, "Informations transmises avec succés", Toast.LENGTH_SHORT)
                           // .show()
                        Snackbar.make(it,"$firstName Bienvenue, vos informations seront transmises", Snackbar.LENGTH_LONG ).show()
        
                       val monIntent = Intent(this, SecondActivity::class.java)
                        monIntent.putExtra("nom",firstName)
                        monIntent.putExtra("last Name:",  lastName)
                        monIntent.putExtra("nbr cats",  etCats)
                        monIntent.putExtra("nbr dogs", etDogs)
        
                        startActivity(monIntent)
        
                    } else {
                        Snackbar.make(it,"$firstName veuiller remplir les champs vides", Snackbar.LENGTH_LONG ).show()
                    }

        et ca dans ma secondActivity:

                Binding.btBack.setOnClickListener {
        
                    startActivity(Intent(this, MainActivity::class.java).apply {
        //                putExtra("firstname", "firstname")
        //                putExtra("lastname", "lastName")
        //                putExtra("cats", "etCatd")
        //                putExtra("dogs", "etDogs")
                    })
        
                    if (intent.getStringExtra("nom") != null) {
        
                        Binding.tvSecondAct.text = "firstname: ${intent.getStringExtra("firstname")}." +
                                "lastname: ${intent.getStringExtra("lastname")}." +
                                "etCats: ${intent.getIntExtra("cats", 0)}." +
                                "etDogs: ${intent.getIntExtra("dogs", 0)}"
                    }
                }
            }
        
        }

        Mais les  données ne sont pas envoyées.

        Je sais pas où se situe le probleme car ya pas de message d'erreur.

        Merci

        -
        Edité par mgf 18 janvier 2023 à 19:25:56

        • Partager sur Facebook
        • Partager sur Twitter

        Passer des données entre deux Activités

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown