

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button=(Button) findViewById(R.id.button1);button.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v){Intent intent=new Intent(MainActivity.this,Main2Activity.class); //启动第二个活动startActivityForResult(intent,1); //启动这个intent,启动请求码是1}});}
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);Button button2=(Button) findViewById(R.id.button2); //获得按键值button2.setOnClickListener(new View.OnClickListener() { //设置按键的监听事件@Overridepublic void onClick(View view) { //按键点击事件Intent intent=new Intent(); //构建一个Intentintent.putExtra("data_return","Hello FirstActivity"); //数据内容setResult(RESULT_OK,intent); //向上一个活动返回数据finish(); //结束这个活动}});}
setResult()方法:接收2个参数,第一个参数用于向上一个活动返回处理结果,一般只使用RESULT_OK或者RESULT_CANCELED这2个值。第二个参数一般则把带有数据的Intent传递回去。
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {switch(requestCode){case 1:if(resultCode==RESULT_OK){String returnedData=data.getStringExtra("data_return");Log.d("FirstActivity",returnedData);}break;default:;}}
onActivityResult()方法:带有3个参数,第一个参数是requestCode,即我们在启动活动时传入的请求码。第二个参数是resultCode,即我们在返回数据时传入的处理结果。第三个参数data,即携带者返回数据的Intent。

原文:http://www.cnblogs.com/aqyl/p/6666148.html