Question

Quelle est la bonne façon de passer un paquet à l'activité qui est lancé à partir de l'actuel? propriétés partagées?

Était-ce utile?

La solution

Vous avez quelques options:

1) Utiliser le dans intention :

Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);  

2) Créer un nouveau Bundle

Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
mIntent.putExtras(mBundle);

3) Utilisez les touches putExtra () méthode raccourci de l'intention

Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);


Puis, dans l'activité lancée, vous les lire via:

String value = getIntent().getExtras().getString(key)

NOTE: Bundles ont "get" et "mettre" les méthodes pour tous les types primitifs, Parcelables et Serializables. Je viens d'utiliser des chaînes démonstartion.

Autres conseils

Vous pouvez utiliser le Bundle de l'intention:

Bundle extras = myIntent.getExtras();
extras.put*(info);

Ou un paquet entier:

myIntent.putExtras(myBundle);

Est-ce que vous cherchez?

Passage de données d'une activité à l'activité dans Android

Une intention contient l'action et éventuellement d'autres données. Les données peuvent être transmises à d'autres activités en utilisant la méthode putExtra() intention. Les données sont transmises comme figurants et sont key/value pairs. La clé est toujours une chaîne. En valeur, vous pouvez utiliser les types de données primitives int, float, caractères, etc. On peut aussi passer Parceable and Serializable objets d'une activité à l'autre.

Intent intent = new Intent(context, YourActivity.class);
intent.putExtra(KEY, <your value here>);
startActivity(intent);

Récupération de données bundle de l'activité Android

Vous pouvez récupérer les informations en utilisant getData() méthodes sur l'objet Intent. Le Intention objet peut être récupéré via la méthode getIntent() .

 Intent intent = getIntent();
  if (null != intent) { //Null Checking
    String StrData= intent.getStringExtra(KEY);
    int NoOfData = intent.getIntExtra(KEY, defaultValue);
    boolean booleanData = intent.getBooleanExtra(KEY, defaultValue);
    char charData = intent.getCharExtra(KEY, defaultValue); 
  }

Vous pouvez transmettre des valeurs d'une activité à une autre activité à l'aide du faisceau. Dans l'activité en cours, créez un paquet et mettre le paquet pour la valeur particulière et de transmettre ce paquet à l'intention.

Intent intent = new Intent(this,NewActivity.class);
Bundle bundle = new Bundle();
bundle.putString(key,value);
intent.putExtras(bundle);
startActivity(intent);

Dans votre NewActivity, vous pouvez obtenir ce paquet et retrive votre valeur.

Bundle bundle = getArguments();
String value = bundle.getString(key);

Vous pouvez également transmettre des données par l'intention. Dans votre activité actuelle, définissez l'intention comme celui-ci,

Intent intent = new Intent(this,NewActivity.class);
intent.putExtra(key,value);
startActivity(intent);

Dans votre NewActivity, vous pouvez obtenir cette valeur d'une intention comme ça,

String value = getIntent().getExtras().getString(key);

Ecrire c'est l'activité que vous êtes:

Intent intent = new Intent(CurrentActivity.this,NextActivity.class);
intent.putExtras("string_name","string_to_pass");
startActivity(intent);

Dans le NextActivity.java

Intent getIntent = getIntent();
//call a TextView object to set the string to
TextView text = (TextView)findViewById(R.id.textview_id);
text.setText(getIntent.getStringExtra("string_name"));

Cela fonctionne pour moi, vous pouvez l'essayer.

Source: https://www.c-sharpcorner.com/article/how-to-send-the-data-one-activity-to-another-activity-in-android-application/

vous pouvez utiliser ce code dans votre premier activité :

 Intent i = new Intent(Context, your second activity.class);
        i.putExtra("key_value", "your object");
        startActivity(i);

et obtenir l'objet deuxième activité :

 Intent in = getIntent();
    Bundle content = in.getExtras();
   // check null
        if (content != null) {
            String content = content_search.getString("key_value"); 
    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top