亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android實(shí)現(xiàn)Activities之間進(jìn)行數(shù)據(jù)傳遞的方法

 更新時(shí)間:2015年04月23日 15:38:13   作者:滄海一粟……  
這篇文章主要介紹了Android實(shí)現(xiàn)Activities之間進(jìn)行數(shù)據(jù)傳遞的方法,涉及Android中Activities的使用技巧,需要的朋友可以參考下

本文實(shí)例講述了Android實(shí)現(xiàn)Activities之間進(jìn)行數(shù)據(jù)傳遞的方法。分享給大家供大家參考。具體分析如下:

首先,先說明一下Activity的啟動及關(guān)閉:

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

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

Intent提供了各種方法來攜帶額外的數(shù)據(jù)信息:

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

有了以上的這些方法我們就可以進(jìn)行數(shù)據(jù)傳遞了:
方法如下:

1. 在頁面A中點(diǎn)擊按鈕bn,跳轉(zhuǎn)到頁面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,并等待返回的結(jié)果,
  //其中inquestCode是請求碼
  }
}

2. 在B頁面中添加數(shù)據(jù),代碼如下:

Intent intent = getIntent();
//獲取當(dāng)前啟動的Acitivity B所對應(yīng)的Intent
intent.putExtra("數(shù)據(jù)內(nèi)容","我是李明");
//向Intent中綁定數(shù)據(jù)信息"我是李明"
B.this.setResult(1, intent);
//設(shè)置結(jié)果碼,并設(shè)置結(jié)束之后退回的Activity
B.this.finish();

3. 在A中獲取數(shù)據(jù)信息,代碼如下:

在頁面A中,為了獲取B中返回的結(jié)果,我們應(yīng)該重寫A頁面中的onActivityResult()方法,當(dāng)B返回結(jié)果時(shí),這個(gè)方法將會被調(diào)用:

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

總結(jié),通過使用Intent中的方法我們可以實(shí)現(xiàn)不同Activity之間的數(shù)據(jù)傳遞,通過設(shè)置標(biāo)識碼和結(jié)果碼,我們可以有選擇的打開關(guān)閉不同的Activity,這就是Activity之間的數(shù)據(jù)傳遞。

希望本文所述對大家的Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論