Android—startActivityForResult的用法
在啟動另外一個Activity的時候,有兩種方法,一種是直接使用startActivity,另外一種就是使用startActivityForResult。前一種想必大家都明白怎麼使用了,我就不廢話了。本文主要通過一個Demo來學習一下第二種。
startActivityForResult的主要作用就是它可以回傳資料,假設我們有兩個頁面,首先進入第一個頁面,裡面有一個按鈕,用於進入下一個頁面,當進入下一個頁面時,進行設定操作,並在其finish()動作或者back動作後,將設定的值回傳給第一個頁面,從而第一個頁面來顯示所得到的值。這個有一點像回撥方法,就是在第二個頁面finish()動作或者back動作後,會回撥第一個頁面的onActivityResult()方法,所以我們可以重寫一下這個方法。直接看程式碼吧:
//第一個介面程式碼:
//第二個介面程式碼: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 ActivityResultDemoActivity extends Activity { private Button button_start_task; private TextView TextView_result; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button_start_task=(Button) findViewById(R.id.button_start_task); TextView_result=(TextView) findViewById(R.id.TextView_result); button_start_task.setOnClickListener(new button_start_task_Listener()); } private class button_start_task_Listener implements OnClickListener { public void onClick(View v) { Intent intent=new Intent(ActivityResultDemoActivity.this,SimpleTaskActivity.class); //關鍵點來了,使用startActivityForResult來啟動 startActivityForResult(intent, 100); } } /** * 複寫onActivityResult,這個方法 * 是要等到SimpleTaskActivity點了提交過後才會執行的 */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { //可以根據多個請求程式碼來作相應的操作 if(20==resultCode) { String bookname=data.getExtras().getString("bookname"); String booksale=data.getExtras().getString("booksale"); TextView_result.setText("書籍名稱:"+bookname+"書籍價錢"+booksale+"元"); } super.onActivityResult(requestCode, resultCode, data); } }
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.EditText; public class SimpleTaskActivity extends Activity { private EditText EditText_bookname; private EditText EditText_booksale; private Button Button_task_fulfill; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main2); EditText_bookname=(EditText) findViewById(R.id.EditText_bookname); EditText_booksale=(EditText) findViewById(R.id.EditText_booksale); Button_task_fulfill=(Button) findViewById(R.id.Button_task_fulfill); Button_task_fulfill.setOnClickListener(new Button_task_fulfill_Listener()); } private class Button_task_fulfill_Listener implements OnClickListener { public void onClick(View v) { String str_bookname=EditText_bookname.getText().toString(); String str_booksale=EditText_booksale.getText().toString(); //判斷空,我就不判斷了。。。。 Intent data=new Intent(); data.putExtra("bookname", str_bookname); data.putExtra("booksale", str_booksale); //請求程式碼可以自己設定,這裡設定成20 setResult(20, data); //關閉掉這個Activity finish(); } } }
相關推薦
android: startActivityForResult用法(啟動其他Activity並返回結果)
startActivityForResult:該方法用於啟動指定Activity,而且期望獲取指定Activity返回的結果。 例如應用程式第一個介面需要使用者進行選擇,但是這種選擇的列表資料很複雜,需要啟動另一個Activity讓使用者選擇。當用戶在第二個Activity
Android startActivityForResult用法詳解
一、如果想在Activity中得到新開啟Activity 關閉後返回的資料,需要使用系統提供的startActivityForResult(Intent intent, int requestCode)方法開啟新的Activity,新的Activity 關閉後會向前面的Activity傳回資料,為了得到傳
Android—startActivityForResult的用法
在啟動另外一個Activity的時候,有兩種方法,一種是直接使用startActivity,另外一種就是使用startActivityForResult。前一種想必大家都明白怎麼使用了,我就不廢話了。本文主要通過一個Demo來學習一下第二種。 startAc
Android startActivityForResult基本用法
startActivityForResult和startActivity的區別是一個是帶值傳輸,一個是直接跳轉 具體用法如下: activity_main: <RelativeLayout xm
Android TabActivity用法
tor icon sans post list star per -h text TabActivity 首先Android裏面有個名為TabActivity來給我們方便使用。當中有下面能夠關註的函數: public TabHost getTabHost (
Android ViewPager用法小結
ext.get try mob too word shc 由於 tool 谷歌 android-support-v4.jar 是谷歌提供給我們的一個兼容低版本號安卓設備的軟件包。裏面包囊了僅僅有在 Android 3.0 以上可用的API。而 ViewP
安卓startActivityForResult用法
protected sources oid int string tac get equal finish startActivityForResult的作用就是它可以回傳數據,假如我們有兩個頁面A和B,點擊A頁面的一個按鈕,進入下一個頁面B,進入頁面B後,進行設置操作,並
Android Service用法知識點的講解
ima code tco 用戶交互 進行 則無 start detail load Android Service 學習Service相關知識點: android service 的基礎知識,生命周期,service分類,運行地點(本地服務,遠程服務),運行類型(前臺服務
android ListView 用法
and andro 適應 wrap 對數 字符 常用屬性 滑動條 lba 在Android開發中,listView 是比較常用的開發組件,它以列表的形式展現具體的內容,並且根據數據的長度自適應顯示。 列表的顯示需要三個元素: listView: 用來展示列表的view;
Android IntentService用法和原始碼分析
關於IntentService的介紹,我個人覺得還是先看官方描述比較好: IntentService is a base class for Services that handle asynchronous requests (expressed as Intents) o
android plurals用法
參考 android plurals用法 對一個給定的語言和數字來說,決定使用哪一個case的規則是很複雜的,所以android提供了方法getQuantityString(),它可以用來為你選擇合適的資源。 節點: <resources> 必
Android列表用法之一:實戰簡單ListView
ListView這個列表控制元件,是我們在開發當中使用頻率比較高的一個控制元件。 既然是使用頻率比較高,那麼我們就有必要將它的使用方式儲存,方便以後直接複製貼上,把注意力放在架構上面,不用經常做程式碼搬運工(重複搬運)。 當然Android的API也提供了許多建立ListView介面卡的快
Android列表用法之二:實戰ListView高階用法
在我們的專案中,並不是所有列表都是簡單的使用。類似於新聞列表、QQ聊天列表等,具有圖文並排的列表,每個item都有它不同的佈局型別,都有其不同的實現方式。這類複雜的列表表現形式,在各類知名應用當中,不可或缺的存在著。今天我們就來看看,使用ListView能不能實現此類複雜佈局。 今天的例
子父控制元件獲取焦點問題:android:descendantFocusability用法簡析
開發中很常見的一個問題,專案中的listview不僅僅是簡單的文字,常常需要自己定義listview,自己的Adapter去繼承BaseAdapter,在adapter中按照需求進行編寫,問題就出現了,可能會發生點選每一個item的時候沒有反應,無法獲取的焦點。原因多半是由於在你自己
startActivityForResult用法詳解
一、如果想在Activity中得到新開啟Activity 關閉後返回的資料,需要使用系統提供的startActivityForResult(Intent intent, int requestCode)方法開啟新的Activity,新的Activity 關閉後會向前面的Activity傳回資料,為了
Android getevent用法詳解
getevent 指令用於獲取 input 輸入事件,比如獲取按鍵上報資訊、獲取觸控式螢幕上報資訊等。 指令原始碼路徑:/system/core/toolbox/getevent.c getevent -h:檢視 getevent 幫助資訊 [email pr
android startActivityForResult與startActivity的不同之處
startActivity 僅僅是跳轉到目標頁面,若是想跳回當前頁面,則必須再使用一次startActivity startActivityForResult 可以一次性完成這項任務,假若從T1Activity跳轉到下一個T2Activity,而當這個T2Activit
[Android] ArrayList用法、與Array的差別
ArrayList與Array差在於因為他是一個寫好的類別,有很多可以直接用的程式碼。 ArrayList使用方法: 1.建構 ArrayList<String> myList = new ArrayList<String>(); //指定是String的型態 ArrayLis
android Mediaplayer用法
package com.terry;import java.io.File;import java.util.ArrayList;import java.util.List; import android.app.ListActivity;import android.media.MediaPlayer;im
Android adb用法
引言 本文基於Android官方文件, 以及個人工作的使用經驗, 總結下adb的常用用法, 備忘. 1, adb簡介 adb全名Andorid Debug Bridge. 顧名思義, 這是一個Debug工具. 然而, 為何稱之為Bridge呢? 因為adb是一個標準的CS