Intent:可理解爲信使,由Intent協助完成Android各個組件之間的通訊。
一、Intent實現頁面之間跳轉的兩種方式
(1)直接跳轉:startActivity(intent)
(2)startActivityForResult(intent,requestCode) ; 有返回值,如A頁面啓動B頁面,B頁面的數據可以回傳給A頁面
需關聯兩個方法:onActivityResult(int requestCode,int resultCode,Intent data); 在A頁面使用,接收B頁面回傳過來的數據,參數的意思可以理解爲“哪個頁面返回給哪個頁面的數據”。
和setResult(resultCode,data); 在B頁面使用,將數據回傳給A頁面
二、Intent的初始化
//參數1,A頁面activity的Activity類的對象
//參數2,B頁面所在的Activity類的java文件編譯後的class文件名
Intent intent=new Intent(上下文對象this, 目標文件);
(1)方式1:startActivity(intent);
(2)方式2:startActivityForResult(intent,requestCode); //參數1:Intent對象,參數2:int類型,請求的一個標識
額外操作:
---在A頁面中接收返回的數據
在A頁面所在的.java文件中重寫 onActivityResult(int requestCode,int resultCode,Intent data)方法,參數2爲B頁面返回的標識。
取Intent中的數據:如取String類型數據則
String content=data.getStringExtra("data"); //參數爲data.putExtra()中的key標識
---在B頁面所在的類中發送數據:
String content="您好";
Intent data=new Intent();
data.putExtra("data",content); //給data添值,其參數類似Map裏的<key,value>
setResult(2,data);
ps:finish()結束當前頁面