假设对象为People类,包含信息姓名和年龄:
public class People{
public String strName;
public int iAge;
public People(String strName,int iAge){
this.strName = strName;
this.iAge = iAge;
}
public String getName(){
return strName;
}
public int getAge(){
return iAge;
}
}
方法一:Serializable
必须条件:类实现了Serializable接口
public class People implements Serializable{
private static final long serialVersionUID = 1L;
public String strName;
public int iAge;
public People(String strName,int iAge){
this.strName = strName;
this.iAge = iAge;
}
public String getName(){
return strName;
}
public int getAge(){
return iAge;
}
}
传递对象
传递端:
People people = new People("John", 21);
Intent intent = new Intent(SendActivity.this,RcvActivity.class);
Bundle bundle = new Bundle();
bundle.putSerializable("people", people);
intent.putExtras(bundle);
startActivity(intent);
接收端:
String strData = people.getName() + " " + people.getAge();
Toast.makeText(getApplication(),strData, Toast.LENGTH_SHORT).show();
传递对象数组:
传递端:
List<people> people = new ArrayList<people>();
people.add(new People("John", 21));
people.add(new People("Amy", 20));
Bundle bundle = new Bundle();
bundle.putSerializable("people", (Serializable) people);
Intent intent = new Intent(SendActivity.this, RcvActivity.class);
intent.putExtras(bundle);
startActivity(intent);
接收端:
List<people> resultList = (List<people>) this.getIntent().getSerializableExtra("people");
String strData = "";
for (People p : resultList) {
strData = strData + p.strName + " " + p.iAge + "\n";
}
Toast.makeText(getApplication(), strData, Toast.LENGTH_SHORT).show();
还有Parcelabel方式来传递数据,懒了不想写了…