//显示的调用Activity
Intent intent = new Intent(MyContactsActivity.this,AddUserActivity.class);
//0代表请求跳转到添加页面,跳转回到之后onActivityResult方法中的requestCode为0........可以理解0为一个操作类型。
startActivityForResult(intent, 0);
在AddUserActivity.class中:
if(flag!=-1){
Toast.makeText(AddUserActivity.this, "插入成功!", Toast.LENGTH_LONG).show();
//resoultCode为1代表增加成功,返回到主页面。虽然是跳转回去了,但是当前页面要注销掉,主页面用方法onActivityResult接收;
setResult(1);
finish();
}else{
Toast.makeText(AddUserActivity.this, "插入失败!", Toast.LENGTH_LONG).show();
//resoultCode为1代表增加失败,返回到主页面。
setResult(2);
finish();
}
返回主Activity之后 用onActivityResult对返回来的数据进行操作;
/**
* 这个方法是自动调用的,得到startActivityForResult()方法请求的activity返回的值 。
* resultCode是目标activity用setResult(1)反回的值。requestCode就是刚刚传递过去的参数。
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//如果requestCode==0说明这个activity是从上一个acitvity跳转回来的。
if(requestCode==0){
if(resultCode==1){
//增加成功 进行刷新
updateUserList(null,null,null,null,null,null);
}else if(resultCode==2){
//增加用户失败,不刷新
}
}
super.onActivityResult(requestCode, resultCode, data);
}