1、MainActivity里面的主要代码 (1)当需要返回值时,那么在启动另一个Activity时要用到 startActivityForResult ( intent , ?REQUEST_CODE ) ; ? ? ?注意第二个参数是请求的int类型的值,这个值要在onActivityResult ()方法中和requestCode 做判断的, ? ? ? 由此来判断是启动的某个Activity。 (2)onActivityResult ()方法中的第二个参数就是 SecondActi vity 传回来的键, ? ? ? 第三个参数就是 SecondActi vity 传回来的键对应的值。 ?
final int RESULT_CODE=101;
final int REQUEST_CODE=1;
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);
}
2、?SecondActi?vity??类中的代码: ???这个里面的?RESULT_CODE?、intent?分别跟上段代码中onActivityResult?()方法中的第二个、第三个参数相对应。
final int RESULT_CODE=101;
public void closeButton(View view) {
Intent intent=new Intent();
intent.putExtra("second", "I am second!");
setResult(RESULT_CODE, intent);
finish();
}
|