国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現Activities之間進行數據傳遞的方法

2020-04-11 11:36:30
字體:
來源:轉載
供稿:網友

本文實例講述了Android實現Activities之間進行數據傳遞的方法。分享給大家供大家參考。具體分析如下:

首先,先說明一下Activity的啟動及關閉:

1. startActivity(Intent intent);  啟動Activity
       finish();  結束當前Activity
2. startActivityForResult(Intent intent, int requestCode);  以指定的請求碼requestCode啟動Activity
finishAcitivity(int requestCode);  結束以startActivityForResult(Intent intent, int requestCode)方法啟動的Activity
假如有多個Activity,那么我們要關閉其中一個,那么就可以設置requestCode,來關閉相對應的Activity。

接著,我們來講數據傳遞。問題是這樣的:假如我們從頁面A到頁面B,A中有一些數據,比如用戶信息(用戶名,賬號,密碼等),從A中進入到頁面B,在B中我們要獲取這些數據信息,要怎么進行傳遞呢?

Intent提供了各種方法來攜帶額外的數據信息:

putExtras(Bundle data):向Intent中放入藥攜帶的數據包
Bundle getExtras():取出Intent中攜帶的數據包,得到的是一個Bundle對象
putExtra(String name, Xxx value):向Intent中按照鍵值對key-value形式存入數據信息
getXxx(String name):從Intent中按照key獲取相對應的數據信息
putXxx(String key, Xxx data):向Bundle中放入Xxx類型的數據信息
getXxx(String key):從Bundle中獲取key對應的數據信息
putSerializable(String key, Serializable data):向Bundle中放入一個可以序列化的對象
getSerializable(String key, Serializable data):從Bundle中取出一個可以序列化的對象

有了以上的這些方法我們就可以進行數據傳遞了:
方法如下:

1. 在頁面A中點擊按鈕bn,跳轉到頁面B代碼如下:

int requestCode = 0;bn.setOnClickListener(new OnClickListener()){ @Override  public void onClick(View source) {  Intent intent= new(A.this, B.class);  startActivityForResult(intent, inquestCode);  //打開指定的Activity B,并等待返回的結果,  //其中inquestCode是請求碼  }}

2. 在B頁面中添加數據,代碼如下:

Intent intent = getIntent();//獲取當前啟動的Acitivity B所對應的Intentintent.putExtra("數據內容","我是李明");//向Intent中綁定數據信息"我是李明"B.this.setResult(1, intent);//設置結果碼,并設置結束之后退回的ActivityB.this.finish();

3. 在A中獲取數據信息,代碼如下:

在頁面A中,為了獲取B中返回的結果,我們應該重寫A頁面中的onActivityResult()方法,當B返回結果時,這個方法將會被調用:

String myData;@overridepublic void onAcitivityResult(int requestCode,int resultCode,Intent intent)//重寫該方法以回調方式來獲取B返回的結果{  if(requestCode==0&&resultCode==1)  {    Bundle data = intent.getExtras();    String myResultData = data.getString("數據內容");    //這樣myResultData就是我們要從B中傳遞過來的數據信息了  }}

總結,通過使用Intent中的方法我們可以實現不同Activity之間的數據傳遞,通過設置標識碼和結果碼,我們可以有選擇的打開關閉不同的Activity,這就是Activity之間的數據傳遞。

希望本文所述對大家的Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘谷县| 江安县| 清丰县| 新化县| 明光市| 儋州市| 邮箱| 滕州市| 策勒县| 万载县| 饶河县| 扶绥县| 内乡县| 宁南县| 崇阳县| 乐陵市| 沐川县| 平乐县| 汽车| 翁牛特旗| 交口县| 青神县| 扬中市| 葫芦岛市| 综艺| 阜新市| 冷水江市| 洞头县| 延寿县| 九江县| 三河市| 宿迁市| 兴隆县| 武川县| 彰化市| 德江县| 绵阳市| 米脂县| 松原市| 出国| 会泽县|