Risposte:
Hai alcune opzioni:
1) Utilizzare il Bundle dal Intent :
Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);
2) Crea un nuovo pacchetto
Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
mIntent.putExtras(mBundle);
3) Utilizzare il metodo di scelta rapida putExtra () dell'intento
Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);
Quindi, nell'attività avviata, li leggeresti tramite:
String value = getIntent().getExtras().getString(key)
NOTA: Bundles avere "get" e metodi di "put" per tutti i tipi primitivi, parcelables e Serializables. Ho appena usato le stringhe a scopo dimostrativo.
È possibile utilizzare il pacchetto dall'intento:
Bundle extras = myIntent.getExtras();
extras.put*(info);
O un intero pacchetto:
myIntent.putExtras(myBundle);
È questo quello che stai cercando?
Passare i dati da un'attività all'attività in Android
Un intento contiene l'azione e, facoltativamente, dati aggiuntivi. I dati possono essere passati ad altre attività utilizzando il putExtra()
metodo intent . I dati vengono passati come extra e lo sono key/value pairs
. La chiave è sempre una stringa. Come valore puoi usare i tipi di dati primitivi int, float, chars, ecc. Possiamo anche passare Parceable and Serializable
oggetti da un'attività all'altra.
Intent intent = new Intent(context, YourActivity.class);
intent.putExtra(KEY, <your value here>);
startActivity(intent);
Recupero dei dati del bundle dall'attività Android
È possibile recuperare le informazioni utilizzando i getData()
metodi sull'oggetto Intent. L' oggetto Intent può essere recuperato tramite il getIntent()
metodo
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);
}
Puoi trasferire valori da un'attività a un'altra utilizzando il pacchetto. Nella tua attività corrente, crea un pacchetto e imposta il pacchetto per il valore particolare e passa quel pacchetto all'intento.
Intent intent = new Intent(this,NewActivity.class);
Bundle bundle = new Bundle();
bundle.putString(key,value);
intent.putExtras(bundle);
startActivity(intent);
Ora nella tua NewActivity, puoi ottenere questo bundle e recuperare il tuo valore.
Bundle bundle = getArguments();
String value = bundle.getString(key);
Puoi anche passare i dati attraverso l'intento. Nella tua attività attuale, imposta l'intento in questo modo,
Intent intent = new Intent(this,NewActivity.class);
intent.putExtra(key,value);
startActivity(intent);
Ora nella tua NewActivity, puoi ottenere quel valore da intenti come questo,
String value = getIntent().getExtras().getString(key);
Scrivi questa è l'attività in cui ti trovi:
Intent intent = new Intent(CurrentActivity.this,NextActivity.class);
intent.putExtras("string_name","string_to_pass");
startActivity(intent);
In 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"));
Questo funziona per me, puoi provarlo.
puoi usare questo codice nella tua prima attività :
Intent i = new Intent(Context, your second activity.class);
i.putExtra("key_value", "your object");
startActivity(i);
e ottieni l'oggetto nella seconda attività :
Intent in = getIntent();
Bundle content = in.getExtras();
// check null
if (content != null) {
String content = content_search.getString("key_value");
}