我需要将一个String / integer值数组从一个Activity传递给另一个Activity。我如何实现这一目标?
答案 0 :(得分:28)
在活动A:
String[] abc;
Bundle bundle =new Bundle();
bundle.putStringArray("some string",abc);
在活动B中,您希望将代码设为:
String abcd[]=bundle.getStringArray("some string");
在这两种情况下,“某些字符串”应该相同。
答案 1 :(得分:4)
在发件人方面,代码应为:
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();
}
答案 2 :(得分:2)
我从未使用过捆绑包传递数组,如果可以完成,我不知道我的头脑,但你当然可以传递一个ArrayList(或任何Serializable / Parcelable)。请参阅此问题以获得更完整的答案:
Passing data of a non-primitive type between activities in android
答案 3 :(得分:1)
请参阅此pass arraylist from one activity to other可能会对您有所帮助
答案 4 :(得分:-2)
传递字符串和整数值的代码::
在你的第一个活动中::
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");