我在android中开始,我想将String,Object,double,ArrayList从一个活动发送到另一个活动。我已经用整数完成了,但是当我想发送对象和ArrayList之类的其他数据时,我遇到了问题。

发件人活动

Intent myIntent = new Intent(SenderActivity.this, ReceiverActivity.class);
myIntent.putExtra("intVariableName", intValue);
startActivity(myIntent);


接收者活动

Intent mIntent = getIntent();
int intValue = mIntent.getIntExtra("intVariableName", 0);

最佳答案

传递双重数据:

发件人活动

Intent myIntent = new Intent(SenderActivity.this, ReceiverActivity.class);
myIntent.putExtra("doubleVariableName", doubleValue);
startActivity(myIntent);


接收者活动

Intent mIntent = getIntent();
double doubleValue = mIntent.getDoubleExtra("doubleVariableName", 0.00); // set 0.00 as the default value if no value for doubleVariableName found


传递字符串数据:

发件人活动

Intent myIntent = new Intent(SenderActivity.this, ReceiverActivity.class);
myIntent.putExtra("stringVariableName", stringValue);
startActivity(myIntent);


接收者活动

Intent mIntent = getIntent();
String stringValue = mIntent.getExtras().getString("stringVariableName");


要么

Intent mIntent = getIntent();
String stringValue = mIntent.getStringExtra("stringVariableName");


传递ArrayList数据:

发件人活动

Intent myIntent = new Intent(SenderActivity.this, ReceiverActivity.class);
myIntent.putStringArrayListExtra("arrayListVariableName", arrayList);
startActivity(myIntent);


接收者活动

Intent mIntent = getIntent();
arrayList = mIntent.getStringArrayListExtra("arrayListVariableName");


传递对象数据:

发件人活动

Intent myIntent = new Intent(SenderActivity.this, ReceiverActivity.class);
myIntent.putExtra("ObjectVariableName", yourObject);
startActivity(myIntent);


接收者活动

Intent mIntent = getIntent();
yourObj = mIntent.getSerializableExtra("ObjectVariableName");


注意:请记住,自定义类必须实现Serializable接口。

传递HashMap数据:

发件人活动

HashMap<String, String> hashMap;
Intent mIntent = new Intent(SenderActivity.this, ReceiverActivity.class);
mIntent.putExtra("hashMap", hashMap);
startActivity(mIntent);


接收者活动

Intent mIntent = getIntent();
HashMap<String, String> hashMap = (HashMap<String, String>)
mIntent.getSerializableExtra("hashMap");


传递位图数据:

发件人活动

Intent myIntent = new Intent(SenderActivity.this, ReceiverActivity.class);
myIntent.putExtra("image",bitmap);
startActivity(mIntent);


接收者活动

Intent mIntent = getIntent();
Bitmap bitmap = mIntent.getParcelableExtra("image");

10-06 05:29
查看更多