Jawaban:
Anda punya beberapa pilihan:
1) Gunakan Bundel dari Intent :
Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);
2) Buat Bundel baru
Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
mIntent.putExtras(mBundle);
3) Gunakan metode pintas putExtra () dari Intent
Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);
Kemudian, dalam Kegiatan yang diluncurkan, Anda akan membacanya melalui:
String value = getIntent().getExtras().getString(key)
CATATAN: Bundel memiliki metode "dapatkan" dan "letakkan" untuk semua jenis primitif, Paket, dan Serializables. Saya hanya menggunakan Strings untuk keperluan demonstrasi.
Anda dapat menggunakan Bundel dari Intent:
Bundle extras = myIntent.getExtras();
extras.put*(info);
Atau seluruh bundel:
myIntent.putExtras(myBundle);
Apakah ini yang Anda cari?
Melewati data dari satu Aktivitas ke Aktivitas di android
Niat berisi tindakan dan data tambahan opsional. Data dapat diteruskan ke aktivitas lain menggunakan putExtra()
metode maksud . Data dilewatkan sebagai ekstra dan key/value pairs
. Kuncinya selalu berupa String. Sebagai nilai, Anda dapat menggunakan tipe data primitif int, float, karakter, dll. Kami juga dapat meneruskan Parceable and Serializable
objek dari satu aktivitas ke aktivitas lainnya.
Intent intent = new Intent(context, YourActivity.class);
intent.putExtra(KEY, <your value here>);
startActivity(intent);
Mengambil data bundel dari aktivitas android
Anda dapat mengambil informasi menggunakan getData()
metode pada objek Intent. The Intent objek dapat diambil melalui getIntent()
metode.
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);
}
Anda bisa meneruskan nilai dari satu aktivitas ke aktivitas lain menggunakan Bundle. Dalam aktivitas Anda saat ini, buat bundel dan atur bundel untuk nilai tertentu dan berikan bundel itu ke maksud.
Intent intent = new Intent(this,NewActivity.class);
Bundle bundle = new Bundle();
bundle.putString(key,value);
intent.putExtras(bundle);
startActivity(intent);
Sekarang di NewActivity Anda, Anda bisa mendapatkan bundel ini dan mengambil kembali nilai Anda.
Bundle bundle = getArguments();
String value = bundle.getString(key);
Anda juga dapat meneruskan data melalui niat. Dalam aktivitas Anda saat ini, tetapkan niat seperti ini,
Intent intent = new Intent(this,NewActivity.class);
intent.putExtra(key,value);
startActivity(intent);
Sekarang di NewActivity Anda, Anda bisa mendapatkan nilai itu dari niat seperti ini,
String value = getIntent().getExtras().getString(key);
Tulis ini kegiatan yang Anda ikuti:
Intent intent = new Intent(CurrentActivity.this,NextActivity.class);
intent.putExtras("string_name","string_to_pass");
startActivity(intent);
Di 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"));
Ini bekerja untuk saya, Anda bisa mencobanya.
Anda dapat menggunakan kode ini dalam aktivitas pertama Anda :
Intent i = new Intent(Context, your second activity.class);
i.putExtra("key_value", "your object");
startActivity(i);
dan dapatkan objek dalam aktivitas kedua :
Intent in = getIntent();
Bundle content = in.getExtras();
// check null
if (content != null) {
String content = content_search.getString("key_value");
}