請求碼和結果碼

来源:http://www.cnblogs.com/Renyi-Fan/archive/2017/08/01/7269773.html
-Advertisement-
Play Games

請求碼和結果碼 一、簡介 請求碼: 例如請求頁面有多個button,根據請求碼就知道是哪個button在請求 結果碼: 多個請求可以打開多個頁面,根據結果碼就知道我們打開的是哪個界面 請求碼是用來標識請求源的,結果碼是用來標識結果源的。 二、具體步驟 這裡演示結果碼的 1、界面1裡面的結果碼是100 ...


請求碼和結果碼

一、簡介

請求碼:

例如請求頁面有多個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 (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     @Override
16     protected void onCreate(Bundle savedInstanceState) {
17         // TODO Auto-generated method stub
18         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             @Override
24             public void onClick(View v) {
25                 // TODO Auto-generated method stub
26                 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     @Override
16     protected void onCreate(Bundle savedInstanceState) {
17         // TODO Auto-generated method stub
18         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             @Override
24             public void onClick(View v) {
25                 // TODO Auto-generated method stub
26                 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     <application
11         android:allowBackup="true"
12         android:icon="@drawable/ic_launcher"
13         android:label="@string/app_name"
14         android:theme="@style/AppTheme" >
15         <activity
16             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     <Button
17         android:id="@+id/btn_chooseContacter"
18         android:layout_width="318dp"
19         android:layout_height="50dp"
20         android:text="@string/btn_chooseContacter" />
21     
22      <EditText
23         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     <Button
32         android:id="@+id/btn_chooseContacter2"
33         android:layout_width="318dp"
34         android:layout_height="50dp"
35         android:text="@string/btn_chooseContacter" />
36 
37 </LinearLayout>

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 當你的應用運行在具有觸摸屏的設備上時,觸摸鍵盤可用於文本輸入。當用戶點擊可編輯的輸入欄位(如 TextBox 或 PasswordBox)時,系統會調用觸摸鍵盤。通過將文本控制項的輸入範圍設置為與你期望用戶輸入的數據類型匹配,可以讓用戶在應用中更快捷地輸入數據。輸入範圍會針對控制項所預期的文本輸入類型向 ...
  • 1、label約束: 1)、只需約束x、y 點相關就行。寬高 長度相關不用約束,就算用boundingRectWithSize計算出來的,也可能不准。 如:top、bottom二選一,trailing、leading二選一,或者center,寬高會自動生成。(同時約束trailing、leading ...
  • 一,代碼。 二,輸出。 ...
  • activity啟動模式之singleInstance 一、簡介 二、代碼實例 結果圖: 代碼: activity.C1 activity.C2 activity.C3 /activityLaunchSingleInstance/AndroidManifest.xml ...
  • activity啟動模式之singleTask 一、簡介 如果另外一個應用調用了C2,C2在棧底,如果這個程式裡面再嗲用C1,C3,C2,那麼這個C2就是調用onNewIntant的,C1和C3都被銷毀了; 另一個程式>c2>c1>c3>c2,實際只剩:另一個程式>c2。 二、代碼實例 效果圖: 上 ...
  • activity啟動模式之singleTop 一、簡介 二、設置方法 在AndroidManifest.xml中將要設置為singleTop啟動模式的頁面進行配置 <activity android:name="activityLaunchSingleTop.ActivityB2" android: ...
  • 一.ionic 自動簽名的好處與壞處(ionic build android/ios) 好處在於:可以直接安裝手機上進行安裝測試,也可以上傳Android或者iOS平臺 不好的地方在於:你的電腦環境變了換電腦了,再打包出來的簽名就會不一樣了,再打包出來的app就無法覆蓋之前的版本,會報簽名不一樣的問 ...
  • activity啟動模式之standard 一、簡介 這種模式是預設的,不用我們自己設定 就像一隻疊加在棧中 如果退出,就一個個退出,其實就是我們自己用手機的那種感受 二、代碼實例 activityLaunchStandard.MainActivity 每次激活activity都會新建一個activ ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...