Activity之間跳轉與傳值

2023-01-22 19:57:06 字數 1675 閱讀 3729

程式設計開發- android

總結activity之間傳值的方法,在另乙個activity如何獲取傳過來的值。

一、activity跳轉與傳值,主要是通過intent類來連線多個activity,通過bundle類來傳遞資料。

最常見最一般的頁面跳轉**,很簡單,如下:

intent intent = new intent(

startactivity(intent);

或者: intent intent = new intent();

startactivity(intent);

二、在跳轉頁面時還需要傳遞資料,這個時候如何做呢?

如果資料比較少,比如只要傳乙個名字,那麼只要加一句""name", "ppy2790");"即可,**如下:

intent intent = new intent();

"name", "ppy2790");

startactivity(intent);

如果資料比較多,就需要使用 bundle類了,**如下:

intent intent = new intent(

/* 通過bundle物件儲存需要傳遞的資料 */

bundle bundle = new bundle();

/*字元、字串、布林、位元組陣列、浮點數等等,都可以傳*/

"name", "ppy2790");

"ismale", true);

/*把bundle物件assign給intent*/

startactivity(intent);

三、在另乙個activity 獲取值

以上我們講的都是如何進行頁面跳轉及資料傳遞,那麼在另乙個頁面secondactivity上,應該如何接收資料呢?

在firstactivity頁面上是以bundle封裝了物件,自然在secondactivity頁面也是以bundle的方式來解開封裝的資料。主要通過"getintent().getextras()"方法來獲取bundle,然後再從bundle中獲取資料。

也可以通過" "name");"方法直接從intent中獲取資料。

從bundle獲取資料的**:

@override

public void oncreate(bundle s**edinstancestate)

四、有時,在頁面跳轉之後,需要返回到之前的頁面,同時要保留使用者之前輸入的資訊,這個時候該怎麼辦呢?

在頁面跳轉後,前乙個activity已經被destroy了。如果要返回並顯示資料,就必須將前乙個activity再次喚醒,同時呼叫某個方法來獲取並顯示資料。

要實現這個效果,需要做以下幾步:

1. 首先,從firstactivity頁面跳轉到secondactivity頁面時,不可以使用"startactivity()"方法,而要使用"startactivityforresult"方法。

2. 在firstactivity頁面的activity中,需要重寫"onactivityresult"方法

@override

protected void onactivityresult(int requestcode,int resultcode,intent data)

}在secondactivity頁面上加乙個返回按鈕,並在事件寫如下**:

/*給上乙個activity返回結果*/

/*結束本activity*/

寫字與性格之間關係

在街頭巷尾常常見到看筆跡算命的人。其實,筆跡與心理學研究有很深的關係。從字跡能看出寫字人的性格。我們常在信件和檔案上簽名,殊不知,筆跡是能展示寫字人的個性。不過,筆跡總歸是後天形成的。寫字人的字跡是根據諸如年齡 職業和性別等的不同而被塑造而成的。反之,也可以說性格在某種程度上是自己培養的。小字注意力...

介於自由與限制之間

介於自由與限制之間 羅四維 2007.3.19 這二個住宅專案都存在明確的基本限制,在杜宅是風水及業主對風水建築化的具體設想,在留學生創業園單身公寓,則是一系列技術引數和選定的建築形態 材料型別等。限制與自由是硬幣的二個面,明確的限制往往意味 著明確的自由,二個專案設計過程實際上是基於限制尋找自由的...

個人與公司之間的借款

公司向個人借款合同的效力 時間 2011 08 24 10 07 1.公司向個人借款合同的效力 最高人民法院在 關於如何確認公民與企業之間借貸行為效力的批覆 中規定 公民與非金融企業 以下簡稱企業 之間的借貸屬於民間借貸,只要雙方當 事人意思表示真實即可認定有效。但是,具有下列情形之一的,應當認為無...