從Activity中返回數據

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

從Activity中返回數據 一、簡介 這裡也就是使用intent方式返回數據。 二、具體步驟 在MainActivity通過一個button訪問Activity01頁面,然後將Activity01頁面的數據返回到MainActivity頁面。 調用Activity頁面:MainActivity 被 ...


從Activity中返回數據

 

一、簡介

這裡也就是使用intent方式返回數據。

 

二、具體步驟

在MainActivity通過一個button訪問Activity01頁面,然後將Activity01頁面的數據返回到MainActivity頁面。

調用Activity頁面:MainActivity

被調用頁面:Activity01

接收值頁面:MainActivity

傳值頁面:Activity01

1、將調用頁面的startActivity方法換成startActivityForResult,用於接收數據

startActivityForResult(intent, 0);

2、在傳值頁面用intent.putExtra方法將值傳過來,然後關閉頁面

Intent intent=new Intent();
intent.putExtra("phoneNumber",tv_phoneNum.getText());
setResult(0, intent);
finish();

3、在接收值頁面重寫onActivityResult方法用於接收數據

Bundle bundle=data.getExtras();
String phoneNumber=bundle.getString("phoneNumber");
et_phoneNumber.setText(phoneNumber);

 

說明:

Activity01調用完finish()方法銷毀之後,就會調用MainActivity的onActivityResult方法,

去看finish的方法說明就好,就在eclipse代碼裡面看,點finish()方法

 

三、代碼實例

結果圖:

 

代碼:

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      protected void onCreate(Bundle savedInstanceState) {
22             super.onCreate(savedInstanceState);//父類操作
23             setContentView(R.layout.activity_main);//引入名為activity_main的界面
24             btn_chooseContacter=(Button) findViewById(R.id.btn_chooseContacter);//找id為btn_openActivity的button
25             et_phoneNumber=(EditText) findViewById(R.id.et_phoneNum);
26             btn_chooseContacter.setOnClickListener(new OnClickListener() {//設置button點擊監聽
27                 
28                 @Override
29                 public void onClick(View v) {//onclick事件
30                     // TODO Auto-generated method stub
31                     Intent intent=new Intent(MainActivity.this,Activity01.class);//初始化intent
32                     //請求碼:resultCode
33                     startActivityForResult(intent, 0);
34                 }
35             });
36         }
37     /*
38      * Activity01調用完finish()方法銷毀之後,就會調用MainActivity的onActivityResult方法
39      * 因為Activity01完成後會返回調用它的方法
40      *  (non-Javadoc)
41      * @see android.app.Activity#onActivityResult(int, int, android.content.Intent)
42      */
43      @Override
44     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
45         // TODO Auto-generated method stub
46         super.onActivityResult(requestCode, resultCode, data);
47         //就是如果沒有傳值回來的情況,直接return就ok了
48         if(data==null) return;
49         Bundle bundle=data.getExtras();
50         String phoneNumber=bundle.getString("phoneNumber");
51         et_phoneNumber.setText(phoneNumber);
52     }
53 }

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(0, 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     </application>
26 
27 </manifest>

 


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

-Advertisement-
Play Games
更多相關文章
  • 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 ...
  • 請求碼和結果碼 一、簡介 請求碼: 例如請求頁面有多個button,根據請求碼就知道是哪個button在請求 結果碼: 多個請求可以打開多個頁面,根據結果碼就知道我們打開的是哪個界面 請求碼是用來標識請求源的,結果碼是用來標識結果源的。 二、具體步驟 這裡演示結果碼的 1、界面1裡面的結果碼是100 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...