請求碼和結果碼,請求碼

來源:互聯網
上載者:User

請求碼和結果碼,請求碼
請求碼和結果碼一、簡介

請求碼:

例如請求頁面有多個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的button27             et_phoneNumber=(EditText) findViewById(R.id.et_phoneNum);28             btn_chooseContacter.setOnClickListener(new OnClickListener() {//設定button點擊監聽29                 30                 @Override31                 public void onClick(View v) {//onclick事件32                     // TODO Auto-generated method stub33                     Intent intent=new Intent(MainActivity.this,Activity01.class);//初始化intent34                     //請求碼:resultCode35                     startActivityForResult(intent, 1);36                 }37             });38             39             40             btn_chooseContacter2=(Button) findViewById(R.id.btn_chooseContacter2);//找id為btn_openActivity的button41             et_phoneNumber2=(EditText) findViewById(R.id.et_phoneNum2);42             btn_chooseContacter2.setOnClickListener(new OnClickListener() {//設定button點擊監聽43                 44                 @Override45                 public void onClick(View v) {//onclick事件46                     // TODO Auto-generated method stub47                     Intent intent=new Intent(MainActivity.this,Activity02.class);//初始化intent48                     //請求碼:resultCode49                     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      @Override61     protected void onActivityResult(int requestCode, int resultCode, Intent data) {62         // TODO Auto-generated method stub63         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 (resultCode) {81         case 100:82             et_phoneNumber.setText(bundle.getString("phoneNumber"));83             break;84         case 200:85             et_phoneNumber2.setText(bundle.getString("phoneNumber2"));86             break;    87         default:88             break;89         }90 91     }92 }

activityReturnData.Activity01

 1 package activityReturnData; 2  3  4 import com.example.activityReturnData.R; 5  6 import android.app.Activity; 7 import android.content.Intent; 8 import android.os.Bundle; 9 import android.view.View;10 import android.view.View.OnClickListener;11 import android.widget.TextView;12 13 public class Activity01 extends Activity{14     private TextView tv_phoneNum;15     @Override16     protected void onCreate(Bundle savedInstanceState) {17         // TODO Auto-generated method stub18         super.onCreate(savedInstanceState);19         setContentView(R.layout.activity01);20         tv_phoneNum=(TextView) findViewById(R.id.tv_phoneNum);21         tv_phoneNum.setOnClickListener(new OnClickListener() {22             23             @Override24             public void onClick(View v) {25                 // TODO Auto-generated method stub26                 Intent intent=new Intent();27                 intent.putExtra("phoneNumber",tv_phoneNum.getText());    28                 //resultCode,結果碼29                 setResult(100, intent);30                 finish();31             }32         });33     }34 }

activityReturnData.Activity02

 1 package activityReturnData; 2  3  4 import com.example.activityReturnData.R; 5  6 import android.app.Activity; 7 import android.content.Intent; 8 import android.os.Bundle; 9 import android.view.View;10 import android.view.View.OnClickListener;11 import android.widget.TextView;12 13 public class Activity02 extends Activity{14     private TextView tv_phoneNum2;15     @Override16     protected void onCreate(Bundle savedInstanceState) {17         // TODO Auto-generated method stub18         super.onCreate(savedInstanceState);19         setContentView(R.layout.activity02);20         tv_phoneNum2=(TextView) findViewById(R.id.tv_phoneNum2);21         tv_phoneNum2.setOnClickListener(new OnClickListener() {22             23             @Override24             public void onClick(View v) {25                 // TODO Auto-generated method stub26                 Intent intent=new Intent();27                 intent.putExtra("phoneNumber2",tv_phoneNum2.getText());    28                 //resultCode,結果碼29                 setResult(200, intent);30                 finish();31             }32         });33     }34 }

/activityReturnData/AndroidManifest.xml

 1 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 2     package="com.example.activityReturnData" 3     android:versionCode="1" 4     android:versionName="1.0" > 5  6     <uses-sdk 7         android:minSdkVersion="8" 8         android:targetSdkVersion="19" /> 9 10     <application11         android:allowBackup="true"12         android:icon="@drawable/ic_launcher"13         android:label="@string/app_name"14         android:theme="@style/AppTheme" >15         <activity16             android:name="activityReturnData.MainActivity"17             android:label="@string/app_name" >18             <intent-filter>19                 <action android:name="android.intent.action.MAIN" />20 21                 <category android:name="android.intent.category.LAUNCHER" />22             </intent-filter>23         </activity>24         <activity android:name="activityReturnData.Activity01" android:exported="true"></activity>25         <activity android:name="activityReturnData.Activity02" android:exported="true"></activity>26     </application>27 28 </manifest>

/activityReturnData/res/layout/activity_main.xml

 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3     android:layout_width="match_parent" 4     android:layout_height="match_parent" 5     android:orientation="vertical" > 6  7     <EditText 8         android:id="@+id/et_phoneNum" 9         android:layout_width="match_parent"10         android:layout_height="wrap_content"11         android:ems="10" >12 13         <requestFocus />14     </EditText>15 16     <Button17         android:id="@+id/btn_chooseContacter"18         android:layout_width="318dp"19         android:layout_height="50dp"20         android:text="@string/btn_chooseContacter" />21     22      <EditText23         android:id="@+id/et_phoneNum2"24         android:layout_width="match_parent"25         android:layout_height="wrap_content"26         android:ems="10" >27 28         <requestFocus />29     </EditText>30 31     <Button32         android:id="@+id/btn_chooseContacter2"33         android:layout_width="318dp"34         android:layout_height="50dp"35         android:text="@string/btn_chooseContacter" />36 37 </LinearLayout>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.