1、Intent传递数据,假设有两个activity,AActivity和BActivity
AActivity中发送数据部分代码:
Button btn=(Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
EditText name = (EditText)findViewById(R.id.edittext1);
EditText sno = (EditText)findViewById(R.id.edittext2);
Intent intent = new Intent(AActivity.this,BActivity.class);
intent.putExtra("name", name.getText().toString());
intent.putExtra("sno", sno.getText().toString());
AActivity.this.startActivity(intent);
}
});
BActivity中接收数据部分代码
Intent intent = getIntent();
String name = intent.getStringExtra("name");
String sno = intent.getStringExtra("sno");
2、Bundle传递数据
Bundle可以传递对象,前提是这个对象需要序列化。
person类代码:
public class Person implements Serializable{
private String name = null;
private String sno = null;
public String getName() {
return name;
}
public String getSno() {
return sno;
}
public Person(String name,String sno){
this.name = name;
this.sno = sno;
}
}
AActivity发送数据部分代码如下:
btn.setOnClickListener(new OnClickListener(){
public void onCLick(view v){
EditText name = (EditText)findViewById(R.id.edittext1);
EditText sno = (EditText)findViewById(R.id.edittext2);
Intent intent = new Intent(AActivity.this,BActivity.class);
Bundle mExtra = new Bundle();
String name1 = name.getText().toString();
String sno1 = sno.getText().toString();
Person person = new Person(name1, sno1);
mExtra.putSerializable("person", person);
intent.putExtras(mExtra);
AActivity.this.startActivity(intent);
}
});
BActivity中接收数据代码如下:
Intent intent = getIntent();
Person person = (Person) intent.getSerializableExtra("person");
String name = person.getName();
String sno = person.getSno();