Yanıtlar:
Birkaç seçeneğiniz var:
1) kullanın Paketi dan Niyet :
Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);
2) Yeni bir Paket oluşturun
Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
mIntent.putExtras(mBundle);
3) Niyetin putExtra () kısayol yöntemini kullanın
Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);
Ardından, başlatılan Etkinlik'te, bunları şu yolla okuyacaksınız:
String value = getIntent().getExtras().getString(key)
NOT: Paketler tüm ilkel türler, Parcelables ve Serializable'lar için "get" ve "put" yöntemlerine sahiptir. Ben sadece gösteri amaçlı Dizeleri kullandım.
Paketi Niyetten kullanabilirsiniz:
Bundle extras = myIntent.getExtras();
extras.put*(info);
Veya paketin tamamı:
myIntent.putExtras(myBundle);
Bu aradığınız şey mi?
Android'de bir Etkinlikten Etkinliğe veri aktarma
Amaç, eylemi ve isteğe bağlı olarak ek verileri içerir. Veriler, niyet putExtra()
yöntemi kullanılarak başka bir etkinliğe aktarılabilir . Veriler ekstra olarak iletilir ve vardır key/value pairs
. Anahtar her zaman bir dizedir. Değer olarak int, float, chars, vb. İlkel veri türlerini kullanabilirsiniz. Parceable and Serializable
Nesneleri bir aktiviteden diğerine geçirebiliriz .
Intent intent = new Intent(context, YourActivity.class);
intent.putExtra(KEY, <your value here>);
startActivity(intent);
Android etkinliğinden paket verileri alma
getData()
Intent nesnesindeki yöntemleri kullanarak bilgileri alabilirsiniz . Niyet amacı ile alınabilir getIntent()
yöntem.
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);
}
Paketi kullanarak değerleri bir etkinlikten başka bir etkinliğe geçirebilirsiniz. Mevcut etkinliğinizde bir grup oluşturun ve paketi belirli bir değer için ayarlayın ve bu paketi hedefe iletin.
Intent intent = new Intent(this,NewActivity.class);
Bundle bundle = new Bundle();
bundle.putString(key,value);
intent.putExtras(bundle);
startActivity(intent);
Şimdi NewActivity'nizde bu paketi alabilir ve değerinizi geri alabilirsiniz.
Bundle bundle = getArguments();
String value = bundle.getString(key);
Verileri niyetten de aktarabilirsiniz. Mevcut etkinliğinizde böyle bir niyet belirleyin,
Intent intent = new Intent(this,NewActivity.class);
intent.putExtra(key,value);
startActivity(intent);
Şimdi NewActivity'nizde bu değeri böyle bir niyetten alabilirsiniz,
String value = getIntent().getExtras().getString(key);
Bu, içinde bulunduğunuz aktiviteyi yazın:
Intent intent = new Intent(CurrentActivity.this,NextActivity.class);
intent.putExtras("string_name","string_to_pass");
startActivity(intent);
NextActivity.java'da
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"));
Bu benim için çalışıyor, deneyebilirsiniz.
bu kodu ilk etkinliğinizde kullanabilirsiniz :
Intent i = new Intent(Context, your second activity.class);
i.putExtra("key_value", "your object");
startActivity(i);
ve ikinci etkinlikte nesne elde edin :
Intent in = getIntent();
Bundle content = in.getExtras();
// check null
if (content != null) {
String content = content_search.getString("key_value");
}