onActivityForResult
Intent intent = new Intent(this,SecondActivity.class)
startActivity(intent);
这样写法等同于startActivityForresult(intent,-1)
一般我们启动另外一个activity又希望另一个activity给前一个activity返回数据我们就要用到这个方法了。
这里要注意这种方法仅次于另外一个activity的Luanchcode不能是singtask 或 singinstance
public void enterSecond(View view) {
Intent intent=new Intent(this,SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.i(TAG, "onActivityResult"+"requestCode"+requestCode+"\n resultCode="+resultCode);
if(requestCode==REQUEST_CODE) {
if(resultCode==RESULT_CODE) {
String result=data.getStringExtra("second");
textView.setText(result);
}
}
super.onActivityResult(requestCode, resultCode, data);
}
这是完整实例