@startActivityForResult
Activity A 希望调用 Activity B 来运行得到结果,并返回Activity A进行后续的操作:
在Activity A中应有代码:
//创建intent来调用Activity B
Intent it = new Intent(A.this,B.class);
int requestCode = 0x101;//这里的数值应该小于0xffff
startActivityForResult(it,requestCode);
在Activity A中还应该有以下一段代码:
//得到从Activity B中返回的结果,并进行后续的操作
@Override
protected void onActivityResult (int requestCode,int resultCode, Intent data){
if (requestCode == 0x101&&resultCode == RESULT_OK){
//获得从Activity B来的结果
/*变量*/ = data.get/*变量*/(/*变量名称*/);
//这里添加后续的操作
}
}
在Activity B中应该有以下代码:
Intent it = getIntent();
it.put/*变量*/(/*变量名称*/,/*变量值*/);
setResult(RESULT_OK,it);//0x101这里是resultCode
finish();//结束Activity B
在变量传递的方面,如果不是单一变量,可以用@Bundle来打包传递。