源自:http://blog.163.com/lingliu_08@126/blog/static/120384450201132524659715/
一、比如,a.activity 要把一些数据传给b.activity:
//当点击button时,从a到b传递数据i_id; 并打开页面b.activity
//在 a.activity中定义
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
Intent intent = new Intent();
intent.setClass(a.this, b.class);
Bundle bundle = new Bundle();
bundle.putString("v_id",i_id); //要传递的数据
intent.putExtras(bundle);
startActivity(intent);
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
}
});
//b.activity 中加入,来获取数据
String v_id = this.getIntent().getExtras().getString("v_id");
二、如果,a.activity 要把一些数据传给b.activity,并且当b.activity关闭后,要回调数据给a.activity
//在a.activity中加入:
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
Intent intent = new Intent();
intent.setClass(a.this, b.class);
Bundle bundle = new Bundle();
bundle.putString("v_id",i_id);
intent.putExtras(bundle);
startActivityForResult(intent,0);
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
}
});
//在b.activity中加入:
String v_id = this.getIntent().getExtras().getString("v_id");
//在b.activtiy 中加入。当关闭b时,传递数据name给a:
b_close.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
Intent intent = getIntent();
Bundle bundle = new Bundle();
bundle.putString("name",name);
intent.putExtras(bundle);
setResult(RESULT_OK,intent);
finish();
}
});
//在a.activity中加入,接受回调信息name
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data_intent){
super.onActivityResult(requestCode, resultCode, data_intent);
if(resultCode == RESULT_CANCELED)
setTitle("cancel");
else if (resultCode == RESULT_OK){
Bundle bundle = data_intent.getExtras();
if(bundle != null){
//获取b传送的数据
String name = bundle.getString("name");
}
}
}