天天看點

Android開發10——Activity的跳轉與傳值_顯示意圖(intent)的應用

activity跳轉與傳值,主要是通過intent類,intent的作用是激活元件和附帶資料。

intent可以激活activity,服務,廣播三類元件。

本博文講的是顯示意圖激活activity元件。所謂顯示意圖就是在activity的激活時,顯示指出了需要激活的activity的名字。

一、activity跳轉

方法一

intent intent = new intent(a.this, b.class); 

startactivity(intent)

方法二

intent intent = new intent();

intent.setclass(a.this, b.class);

startactivity(intent);

實作從a跳轉到b(a、b均繼承自activity)

二、傳遞資料

activity a 傳遞資料

intent.putextra("name", "xy");

intent.putextra("age", 22);

bundle bundle = new bundle();

bundle.putstring("name", "xy");

bundle.putint("age", 22);

intent.putextras(bundle);

activity b 接收資料

// 擷取參數1

intent intent = this.getintent();

string name = intent.getstringextra("name");

int age = intent.getintextra("age", 22); // 預設值為22

// 擷取參數2

bundle bundle = intent.getextras();

string name2 = bundle.getstring("name");

int age2 = bundle.getint("age", 22);

兩種擷取參數方式均可,并不是和傳參1,2方法一一對應

三、activity傳回值

跳轉後前一個activity已經被destroy了。如若要傳回并顯示資料,就必須将前一個activity再次喚醒,同時調用某個方法來擷取并顯示資料。做法如下

1.從a頁面跳轉到b頁面時不可使用startactivity()方法,而要使用startactivityforresult()方法

2.在a頁面的activity中,需要重寫onactivityresult(int requestcode, int resultcode, intent data)方法

activity a

activity b

四、總結

以上采用的意圖intent均是顯示意圖。

繼續閱讀