一個例項弄明白startActivityForResult和intent怎麼使用
一、Intent實現Activity之間的切換
1、建構函式法:
[java] view plain copy print?- Intent intent = new Intent(this , OtherActivity.class); //兩個引數:第一個是上下文物件,第二個是要切換的Activity的class位元組碼
- startActivity(intent);
2、setClass方法:
[java] view plain copy print?- Intent intent = new Intent();
-
intent.setClass(this
- startActivity(intent);
3、setClassName方法:
[java] view plain copy print?- Intent intent = new Intent();
- intent.setClassName(this, "cn.itcast.activitys.OtherActivity");
- startActivity(intent);
4、setComponent方法:
[java] view plain copy print?-
Intent intent =
- intent.setComponent(new ComponentName(this,OtherActivity.class));
- startActivity(intent);
二、startActivityForResult用來傳遞引數
首先,我們是定義了兩個Activity,就是兩個介面:A和B。
A介面包含一個按鈕:登陸
B介面包含兩個輸入框和一個登陸按鈕:使用者名稱和密碼輸入框、登陸按鈕。
要求,從A介面傳遞一個字串,B介面能夠顯示。
B介面輸入的使用者名稱和密碼,在點選登陸後,可以在A介面顯示。
首先,我們看下A介面的介面:
[html]- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical">
- <Button
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/button"
- android:onClick="openActivity"
- />
- </LinearLayout>
然後,我們編寫A介面的Java呼叫程式碼(MainActivity.java):
[java] view plain copy print?- package cn.itcast.activitys;
- import android.app.Activity;
- import android.content.ComponentName;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Toast;
- publicclass MainActivity extends Activity {
- /** Called when the activity is first created. */
- @Override
- publicvoid onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
- publicvoid openActivity(View v){ //在
- Intent intent = new Intent(this , OtherActivity.class);
- Bundle bundle = new Bundle();
- bundle.putString("result", "我是從MainActivity傳遞過來的引數");
- intent.putExtras(bundle);
- startActivityForResult(intent, 200); //兩個引數:第一個是意圖物件,第二個是請求碼requestCode
- }
- @Override
- protectedvoid onActivityResult(int requestCode, int resultCode, Intent data) {
- String name="",password="";
- if(resultCode == 30){ //判斷返回碼是否是30
- name = data.getStringExtra("name").toString();
- password = data.getStringExtra("password").toString();
- Toast.makeText(this, "您登陸的使用者名稱是:"+name+",密碼是:"+password, 1).show();
- }
- super.onActivityResult(requestCode, resultCode, data);
- }
- }
然後,我們要先看下OtherActivity.java裡邊的程式碼:
[java] view plain copy print?- package cn.itcast.activitys;
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.EditText;
- import android.widget.TextView;
- import android.widget.Toast;
- publicclass OtherActivity extends Activity {
- private EditText name;
- private EditText password;
- @Override
- protectedvoid onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.otheractivity);
- Intent intent = getIntent(); //用於啟用它的意圖物件:這裡的intent獲得的是上個Activity傳遞的intent
- Bundle bundle = intent.getExtras();
- String result = bundle.getString("result");
- Toast.makeText(this, result, 1).show();
- }
- publicvoid closeActivity(View v){
- Intent data = new Intent();
- name = (EditText)this.findViewById(R.id.name);
- password = (EditText)this.findViewById(R.id.password);
- data.putExtra("name", name.getText().toString());
- data.putExtra("password", password.getText().toString());
- setResult(30, data); //設定返回資料
- this.finish(); //關閉當前Activity
- }
- }
然後我們呼叫otheractivity.xml介面中的按鈕的onClick方法來呼叫closeActivity()方法。
通過這個方法,我們可以把文字框中輸入的使用者名稱和密碼通過setResult(int resultCode,Intent intent)方法傳遞迴A介面,呼叫this.finish()關閉當前介面。
接下來,我們看下B介面的原始碼:otheractivity.xml
[html] view plain copy print?- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical">
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/name"
-
相關推薦
一個例項弄明白startActivityForResult和intent怎麼使用
一、Intent實現Activity之間的切換 1、建構函式法: [java] view plain copy print? Intent intent = new Intent(this , OtherActivity.class); //兩個引數:第一個是上下文物件,第二個是要切換的A
弄明白CMS和G1,就靠這一篇了
目錄 1 CMS收集器 安全點(Safepoint) 安全區域 2 G1收集器 卡表(Card Table) 3 總結 4
一張圖弄明白開源協議-GPL、BSD、MIT、Mozilla、Apache和LGPL 之間的區別
tail 協議 ref detail 技術 之間 lan ftw 說明 導讀 在開源軟件中經常看到各種協議說明,GPL、BSD、MIT、Mozilla、Apache和LGPL。 - 這些協議之間的有什麽區別 - 如何選擇合適的開源協議 請看下文,特作記錄一篇,以
廣告、促銷、推廣的區別和聯系,這下弄明白了
網站建設 網站優化 網站推廣 很多人都會混雜廣告、促銷、推行三者之間的聯系,覺得都差不多,常常把廣告、促銷都叫成推行,這顯然是不對的。 還有的企業營銷人員乃至領導人,一聽說4p中的促銷,就以為是搞打折的促銷,這都是不對的。 促銷 促銷是4p中第4個p的促銷組合戰略,留意4p都是組合戰略
Android Studio 一個完整的APP例項(附原始碼和資料庫)
前言: 這是我獨立做的第一個APP,是一個記賬本APP。 This is the first APP, I've ever done on my own. It's a accountbook APP. 原始碼: https://github.com/AnneHan/accoun
設計模式必須要弄明白的組合和繼承
前言 哇,最近再看Java程式設計思想,看到了第七章複用類中7.5在組合和繼承之間選擇。讓我對組合和繼承有了新的認知,前一段時間把設計模式看完了,雖然說看了幾遍,但是思想永遠的記不住,理解不了。但是今天,結合著組合和繼承讓我有了新的認知,故想給學設計模式的同學一個我的理解思路。 組合和繼承 理
終於弄明白了Eclipse中Maven和SVN,真不容易!
昨天折騰了一天,從早上9點到半夜1點,總算是折騰明白了Eclipse中安裝Maven的方法,其實就是什麼也不做——因為Oxygen版本中已經集成了Maven外掛。並且,匯入Maven專案也並不像我上一篇文章Eclipse匯入Maven專案,實在算得上是歷經千辛萬
一圖弄明白DFT、DTFT和DFS之間的關系
既然 進行 mat 運算 不知道 不能 art 疑惑 問題 轉自:https://www.cnblogs.com/BitArt/archive/2012/11/24/2786390.html 很多同學學習了數字信號處理之後,被裏面的幾個名詞搞的暈頭轉向,比如DFT,
java中的switch語句中break和continue的區別--------總算是弄明白了
1、先上一個例子: package com.test; import java.util.ArrayList; import java.util.List; public class SwitchTest { public void ss(List<Integer> l){
一個例項和四點忠告
看了一篇微信文章,自己提煉和修改了一下,也算自己的一點感悟吧 一、一個例項 趕集網和瓜子二手車的創始人楊浩湧曾經分享過一個故事: 因為楊浩湧最早是研發出身,是很優秀的產品經理,而且他手下也有一支非常強的技術和產品團隊,產品體驗要比當時的競爭對手58同城好非常多。
asp.net mvc常用的資料註解和驗證以及entity framework資料對映的一個例項
下面是model層的管理員資訊表 在此Model上我們用到了asp.net mvc的資料註解和驗證,可用來作為後端驗證,entity framework對資料庫的對映 using System; 2 using System.Collections.Generic;
定義平面中的一個Circle類, 1編寫一個無引數建構函式, 2編寫一個有參的建構函式 3在主函式中呼叫無參建構函式生成圓的例項c1,呼叫有參建構函式生成圓的例項c2,呼叫例項方法判斷c1和c2是否重
定義平面中的一個Circle類, 1編寫一個無引數建構函式, 2編寫一個有參的建構函式 3在主函式中呼叫無參建構函式生成圓的例項c1,呼叫有參建構函式生成圓的例項c2,呼叫例項方法判斷c1和c2是否重疊 class Point { double x; double y
shared_ptr和weak_ptr智慧指標結合使用的一個例項
結合shared_ptr、weak_ptr一個例項 感覺這個例子很好, 結合了很多知識技術。這個例項功能是簡單模擬實現std::vector<std::string> 部分功能。 (只是非常簡單一些操作),當然也可以繼續擴充套件,甚至擴充套件
retrofit的模擬學習和Eventbus的傳遞一個bean物件和Intent傳遞一個bean物件
一直想好好學習使用retrofit今天就學習總結 首先是github的地址連線: 之後是依賴: compile 'com.squareup.retrofit2:retrofit:2.3.0' 注意: Retrofit requires at
一個例項讓你徹底明白Activity的4種啟動模式
首先,我們得有一個概念,就是啟動的Activity都是放在相應的任務棧中。按Back鍵的時候Activity會從任務棧中返回,當任務棧為空時系統就會回收這個任務棧。 那麼我們為什麼需要這4中啟動模式呢?我們新建Activity的並在Androidmanifes
通過一個WPF例項進一步理解委託和事件
在前寫過“淺談C#中的委託”和“淺談C#中的事件”兩篇部落格,內容有些抽象,似乎難以說明委託和事件的關係。 今天通過一個小程式來進一步說明二者的使用及聯絡。 首先新建一個WPF應用程式,取名TestDelegateAndEvent。 在.xmal中加入
jafka安裝配置和啟動一個自帶例項和手寫一個例項
Jafka 是一個開源的/效能良好的分散式訊息系統。在上一篇文章中有所簡單介紹。下面是一篇簡單的入門文件。更多詳細的文件參考wiki。Step 1: 下載最新的安裝包 $wget https://github.com/downloads/adyliu/jafka/jafka-1.0.tgz $tar x
一個關於A標簽和分頁的怪問題!
boot 題解 input page mvc def data tel 問題解決 用bootstrap做了用戶電話號碼查詢的前端頁面。 並且用了MVCPager分頁。 Bootstrap前端頁如下: 一開始使用了用A標簽,分頁成功後,我進入第二頁,點擊這個A標簽,頁面會自動
跳槽3次才算弄明白的4個秘密,所有公司都不會告訴你(收集互聯網)
跳槽3次才算弄明白的4個秘密 所有公司都不會告訴你(收集互聯網) 網上看到的,有點意思,個人雖然不完全認同,但也是當今社會真實寫照。。職場中不光光是要靠能力做事,兢兢業業努力工作卻只獲得一份溫飽的工資。越是老實人,幹的越多,拿得越少,升的越慢,這並不是個例了 。人民的名義中漢東的易學習難被提拔,職場中
還沒有弄明白的DAC
cnblogs 得到 寄存器 span color nbsp col channel 整數 1 adcx=DAC_GetDataOutputValue(DAC_Channel_1);//讀取前面設置DAC的值 2 LCD_Showx