PS : Aperçu de la connexion de la mise en page à AndroidStudio (1)
Passer des données à l'activité suivante :
après l'étude des sections précédentes, vous avez une certaine compréhension de l'intention. Mais jusqu'à présent, nous avons simplement
utilisé l'intention pour démarrer une activité. En fait, l'intention peut également transmettre des données lors du démarrage d'une activité. Jetons un coup d'
œil.
L'idée de transmettre des données lors du démarrage d'une activité est très simple. L'intention fournit une série de surcharges de la méthode putExtra(), qui
peut stocker temporairement les données que nous voulons transmettre dans l'intention. Après avoir démarré une autre activité, nous n'avons besoin que pour mettre ces Les données peuvent ensuite être extraites de l' Intent
. Par exemple, il n'y a pas de chaîne dans MainActiviy, et maintenant vous voulez passer cette voiture de caractère à l'
activité Main2, vous pouvez écrire :
button.setOnClickListener(new View.OnClickListener0 ) { @Override public void onClick (View v) { String data = "Hello Main2Activity" Intent intent = new Intent (MainActivity.this, Main2Activity.class): intent.putExtra ("extra_data", data); startActivity(intent): } )); Ici, nous utilisons toujours l'intention explicite pour démarrer Main2Activicy, et passé la méthode putExtra()
- un string. Notez que la méthode putExtra() reçoit ici deux paramètres, le premier paramètre est la clé, qui est utilisée pour récupérer la
valeur de l'intention ultérieurement, et le second paramètre est les données réelles à transmettre.
Ensuite, nous retirons les données transmises dans Main2Acrivity et les imprimons, le code est le suivant
package com.example.firstcode;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Intent intent=getIntent();
String data=intent.getStringExtra("extra_data");
Log.d("Main2Activity", data );
}
}
Tout d'abord, vous pouvez obtenir l'intention utilisée pour démarrer SecondActivity via la méthode getIntent (), puis appeler la
méthode getstring Extra (), transmettre la valeur de clé correspondante, puis vous pouvez obtenir les données transmises. Ici, puisque nous transmettons une
chaîne de caractères, nous utilisons la méthode getstringExtra() pour obtenir les données transmises. Si les données entières sont transmises,
utilisez la méthode getIntExtra() ; si les données booléennes sont transmises, utilisez la méthode getBooleanExtra(), et ainsi
de suite.
Réexécutez le programme, cliquez sur le bouton de l'interface FirstActivity pour passer à SecondActivity, vérifiez le logcat pour voir que Main2Activity a bien reçu les données de signal de MainActivity