1. 程式人生 > >Android Studio——使用Bundle在Activity之間傳值

Android Studio——使用Bundle在Activity之間傳值

前面我們瞭解瞭如何啟動一個Activity,一個Activity在啟動另外一個Activity的時候可能會遇到需要傳值的需要。Activity之間傳值是通過Bundle來實現的。

一、通過Bundle傳值介紹

Intent提供了多個過載方法來攜帶資料

putExtras(Bundle data):向Intent中放入需要的資料包

Bundle getExtras():取出Intent所攜帶的資料

putExtras(String name, Xxx value):向Intent中按照key-value形式傳值

getXxxExtra(String name):從Intent中按key取值

從上面方法中可以看到Bundle就像一個數據包一樣,Bundle中存取資料的方法如下:

pubXxx(String key, Xxx data):向Bundle中放入資料

pubSerializable(String key, Serializable data):向Bundle中放入一個可序列化的物件。

getXxx(Strign key):從Bundle中取出資料

getSerializable(String key, Serializable data):從Bundle中取出一個可序列化的物件。

Bundle物件是由系統需要時自動建立的,我們不需要管。

二、通過Bundle傳值例子

MainActivity.java中的核心程式碼

?
1 2 3 4 5 6 7 8 9 10 11 Intent intent = new Intent(); intent.setAction("com.example.intent.action.TEST_ACTION"); intent.putExtra("test1", 1); Bundle bundle = new Bundle();
bundle.putBoolean("test2", false); bundle.putSerializable("test3", new Person("大碗幹拌", 2)); intent.putExtras(bundle); startActivity(intent);
Person.java類 ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 package com.example.testintent;

相關推薦

Android Studio——使用Bundle在Activity之間

前面我們瞭解瞭如何啟動一個Activity,一個Activity在啟動另外一個Activity的時候可能會遇到需要傳值的需要。Activity之間傳值是通過Bundle來實現的。 一、通過Bundle傳值介紹 Intent提供了多個過載方法來攜帶資料

android中活動、服務之間簡單總結筆記

前言 在android中,我們經常用到活動之間傳值、活動與服務之間傳值。 整理 活動之間傳值 //傳送資料(activity1) Intent intent = new Intent(g

Android中關於Activity之間的問題(基礎問題)

也是Android中的一種基礎知識點吧,希望還是幫助理解吧,雖然簡單點了,獻給需要的人群,僅供參考。 關於兩個Activity之間傳值的問題,首先要搞清楚兩個activity那個是父類,那個是子類,通常父類是想要結果,而讓子類幫他處理,做完以後將結果回傳給父類,我的父類是Z

Android 中Service 和Activity之間。(涉及BroadCast的基本用法)

首先先建立一個Android工程(名字自定義)這裡我命名為MyActivity 包名為:package org.hm.myactivity; 再最後給自己的activity命名(名字自定義)此處我命名為MyTestActivity public class MyTestA

Android 介面之間筆記

Android開發中,用到的介面之間資料傳值方法: Intent intent = new Intent(this,SecondActivity.class); //方法一

Asp.Net Core MVC控制器和視圖之間

view 指定 mode 設置 http adg nbsp urn 傳值方式 一、Core MVC中控制器和視圖之間傳值方式和Asp.Net中非常類似 1.弱類型數據:ViewData,ViewBag 2.強類型數據:@model 二、代碼 實例 1.ViewData

ASP.NET頁面之間的方式之QueryString(超詳細)

res p s orm font utf-8 但是 partial .aspx object QueryString Querystring也叫查詢字符串,這種頁面間傳遞數據是利用網頁地址URL。如果要從A頁面跳轉到B頁面,則可以用Request.Redirect(”B.a

ASP.NET頁面之間的方式之Application(個人整理)

eve security 使用 例子 如何 and services https 在線人數  Application Application變量在整個應用程序生命周期中都是有效的,類似於使用全局變量一樣,所以可以在不同頁面中對它進行存取。它和Session變量的區別在於,

ASP.NET頁面之間的方式之Session(個人整理)

lec 傳遞 button doctype http 參考 方式 創建 logs   Session Session在ASP.NET中,表示客戶端(Goggle,Firefox,IE等)與服務器端的會話,用來存儲特定會話信息,準確來說,是用來存儲特定用戶信息。當客戶端向服務

ASP.NET頁面之間的方式之Cookie(個人整理)

無意中 etime linq 首選項 ner www. ati 訪問 net   Cookie Cookie 提供了一種在 Web 應用程序中存儲用戶特定信息的方法。例如,當用戶訪問您的站點時,您可以使用 Cookie 存儲用戶首選項或其他信息。當該用戶再次訪問您的網站時,

Winform窗體之間

1.採用static變數 from1: public partial class frmMain : Form {   public static string name= ""; } from2: MessageBox.Show(Form1.name.Trim());

android和JavaScript簡單互動

    activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schem

angular2父子元件之間

元件結構如下: main.html <div class="row"> <div class="col-sm-2 col-md-2 catalog"> <app-catalog [input]="catalogmsg" (event)="getData(

**Vue父子元件之間:*

初學者總結。Vue父子元件之間傳值: 1.父元件到子元件的傳值: a,父元件引入元件並註冊完成: import PersonnelUpdate from “./PersonnelUpdate”; export default { components: { PersonnelUpdate }

JavaScript & jsp之間技巧

1.JavaScript中清空textArea內容 document.getElementById(IdValue).value=null; 2.JavaScript中為某一標籤設定屬性值(如設定佔位符的內容) document.getElementById(IdValu

JavaScript & jsp之間技巧

1.JavaScript中清空textArea內容 document.getElementById(IdValue).value=null; 2.JavaScript中為某一標籤設定屬性值(如設定佔位符的內容) document.getEl

c#父窗體子窗體之間

c#窗體傳值 1. 父窗體向子窗體傳值 父窗體Form1程式 //使其成為主窗體Form1的一個屬性, private string text; public string Text {

靜態頁面之間

//獲得url引數,只接收一個值 function oneValues() { var result; var url = window.location.search; //獲取url中"?"符後的字串

頁面之間以及獲取

/傳遞引數 xxxxxx.jsp?name=23 /獲取url的屬性值 function GetUrlByParamName(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$

vue非父子元件之間

記錄第一次做專案遇到的坑,可能說的有所欠缺,但是功能是實現的。 為了實現頭部的搜尋框,搜尋table表格中的資料,因為是兩個頁面,所以需要元件傳值。 首先,main.js中建立事件中心eventHub new Vue({ el: '#app',