Android------startActivityForResult的详细用法

来源:互联网 发布:json的类子 编辑:程序博客网 时间:2024/05/22 08:23
package org.sunchao;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class TestStartActivityForResultActivity extends Activity implementsOnClickListener {private TextView mText01;private TextView mText02;private Button button01;private Button button02;private Intent mIntent;private int requestCode;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);mText01 = (TextView) findViewById(R.id.mText01);mText02 = (TextView) findViewById(R.id.mText02);button01 = (Button) findViewById(R.id.mButton01);button02 = (Button) findViewById(R.id.mButton02);button01.setOnClickListener(this);button02.setOnClickListener(this);mText01.setText("01");mText02.setText("02");mIntent = new Intent();mIntent.setClass(TestStartActivityForResultActivity.this,Activity02.class);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.mButton01:// 请求码的值随便设置,但必须>=0requestCode = 0;startActivityForResult(mIntent, requestCode);break;case R.id.mButton02:requestCode = 2;startActivityForResult(mIntent, requestCode);break;default:break;}}// 回调方法,从第二个页面回来的时候会执行这个方法@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {String change01 = data.getStringExtra("change01");String change02 = data.getStringExtra("change02");// 根据上面发送过去的请求吗来区别switch (requestCode) {case 0:mText01.setText(change01);break;case 2:mText02.setText(change02);break;default:break;}}}

页面二:

package org.sunchao;import android.app.Activity;import android.content.Intent;import android.os.Bundle;public class Activity02 extends Activity {private int resultCode = 0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity02);Intent mIntent = new Intent();mIntent.putExtra("change01", "1000");mIntent.putExtra("change02", "2000");// 设置结果,并进行传送this.setResult(resultCode, mIntent);// this.finish();}}


0 0