
startActivityForResult与startActivity的不同之处在于:
1、startActivity()
仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity()。
2、startActivityForResult()
可以一次性完成这项任务,当程序执行到这段代码的时候,假若从T1Activity跳转到下一个Text2Activity,而当这个Text2Activity调用了finish()方法以后,程序会自动跳转回T1Activity,并调用前一个T1Activity中的onActivityResult()方法。
public void selectContact(View v){
Intent intent= new Intent(this, SelectContactActivity.class);
startActivityForResult(intent, 0);//返回联系人电话号码
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(data==null){
return ;
}
String phone=data.getStringExtra("phone");
et_setup3_callphone.setText(phone);
}
这里resultCode为回传的标记
如果有多个有返回值的话可以做判断