передача массивов с помощью пакета в android
Мне нужно передать массив строковых / целочисленных значений из одного действия в другое. Как мне этого достичь?
5 ответов
в упражнении A:
String[] abc;
Bundle bundle =new Bundle();
bundle.putStringArray("some string",abc);
в упражнении B, где вы хотите получить, дайте код как:
String abcd[]=bundle.getStringArray("some string");
"некоторая строка" должна быть одинаковой в обоих случаях.
на стороне отправителя, код должен быть:
String[] myStrings=new String[2];
myStrings[0]="MONDAY";
myStrings[1]="TUESDAY";
Intent intent = new Intent(v.getContext(), Animation_program.class);
Bundle bundle = new Bundle();
intent.putExtra("strings", myStrings);
intent.putExtras(bundle);
startActivity(intent);
на стороне приемника код должен быть:
Intent i = getIntent();
Bundle extras=i.getExtras();
if(extras != null) //this line is necessary for getting any value
{
String[] fajr_Values = i.getStringArrayExtra("strings");
Toast.makeText(this, "value="+fajr_Values[0]+""+fajr_Values[1], Toast.LENGTH_SHORT).show();
}
Я никогда не передавал массив с помощью расслоения, и я не знаю, можно ли это сделать, но вы, безусловно, можете передать ArrayList (или что-нибудь Сериализуемое/Parcelable). См. этот вопрос для более полного ответа:
передача данных непримитивного типа между действиями в android
передать этот передать arraylist из одного действия в другое может помочь вам
код для строки pass и целочисленного значения ::
В Вашем Первом Действии ::
Intent intent = new Intent(California.this,details.class);
Bundle bundle = new Bundle();
bundle.putString("Keyname1", StringValue);
bundle.putInt("Keyname2", IntegerValue);
intent.putExtras(bundle);
startActivity(intent);
Во Втором Действии:
Bundle b=this.getIntent().getExtras();
String s=b.getString("Keyname1");
int i=b.getInt("Keyname2");