设为首页 加入收藏

TOP

请求码和结果码(一)
2017-10-11 16:59:48 】 浏览:7496
Tags:请求 结果

请求码和结果码

一、简介

请求码:

例如请求页面有多个button,根据请求码就知道是哪个button在请求

结果码:

多个请求可以打开多个页面,根据结果码就知道我们打开的是哪个界面

 

请求码是用来标识请求源的,结果码是用来标识结果源的。

 

二、具体步骤

这里演示结果码的

1、界面1里面的结果码是100

setResult(100, intent);

2、界面2里面的结果码是200

setResult(200, intent);

3、在主界面的 onActivityResult方法中根据结果码判断数据来源于哪个页面

switch (resultCode) {
case 100:
  et_phoneNumber.setText(bundle.getString("phoneNumber"));
  break;
case 200:
  et_phoneNumber2.setText(bundle.getString("phoneNumber2"));
  break;
default:
  break;
}

 

 

三、代码实例

下面的代码时返回值,实质和用intent传值是一样的,都是getExtras和putExtras

这里是测试结果码,请求码的测试在代码的注释里面有

结果图:

打开第一个按钮进入一个界面,打开第二个按钮进入另外一个界面

 

代码:

activityReturnData.MainActivity

 1 package activityReturnData;
 2 
 3 
 4 
 5 
 6 import com.example.activityReturnData.R;
 7 
 8 import android.app.Activity;
 9 import android.content.Intent;
10 import android.os.Bundle;
11 import android.view.View;
12 import android.view.View.OnClickListener;
13 import android.widget.Button;
14 import android.widget.EditText;
15 
16 
17 
18 public class MainActivity extends Activity{
19     private Button btn_chooseContacter;//创建一个button对象
20     private EditText et_phoneNumber;
21     private Button btn_chooseContacter2;//创建一个button对象
22     private EditText et_phoneNumber2;
23      protected void onCreate(Bundle savedInstanceState) {
24             super.onCreate(savedInstanceState);//父类操作
25             setContentView(R.layout.activity_main);//引入名为activity_main的界面
26             btn_chooseContacter=(Button) findViewById(R.id.btn_chooseContacter);//找id为btn_openActivity的button
27             et_phoneNumber=(EditText) findViewById(R.id.et_phoneNum);
28             btn_chooseContacter.setOnClickListener(new OnClickListener() {//设置button点击监听
29                 
30                 @Override
31                 public void onClick(View v) {//onclick事件
32                     // TODO Auto-generated method stub
33                     Intent intent=new Intent(MainActivity.this,Activity01.class);//初始化intent
34                     //请求码:resultCode
35                     startActivityForResult(intent, 1);
36                 }
37             });
38             
39             
40             btn_chooseContacter2=(Button) findViewById(R.id.btn_chooseContacter2);//找id为btn_openActivity的button
41             et_phoneNumber2=(EditText) findViewById(R.id.et_phoneNum2);
42             btn_chooseContacter2.setOnClickListener(new OnClickListener() {//设置button点击监听
43                 
44                 @Override
45                 public void onClick(View v) {//onclick事件
46                     // TODO Auto-generated method stub
47                     Intent intent=new Intent(MainActivity.this,Activity02.class);//初始化intent
48                     //请求码:resultCode
49                     startActivityForResult(intent, 2);
50                 }
51             });
52             
53         }
54     /*
55      * Activity01调用完finish()方法销毁之后,就会调用MainActivity的onActivityResult方法
56      * 因为Activity01完成后会返回调用它的方法
57      *  (non-Javadoc)
58      * @see android.app.Activity#onActivityResult(int, int, android.content.Intent)
59      */
60      @Override
61     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
62         // TODO Auto-generated method stub
63         super.onActivityResult(requestCode, resultCode, data);
64         //就是如果没有传值回来的情况,直接return就ok了
65         if(data==null) return;
66         Bundle bundle=data.getExtras();
67         String phoneNumber=bundle.getString("phoneNumber");
68         
69 //        switch (requestCode) {
70 //        case 1:
71 //            et_phoneNumber.setText(phoneNumber);
72 //            break;
73 //        case 2:
74 //            et_phoneNumber2.setText(phoneNumber);
75 //            break;    
76 //        default:
77 //            break;
78 //        }
79         
80         switch (resultCo
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇activity之间通过全局变量传递数据 下一篇请求码和结果码

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目