Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 使用Bundle在Activity間傳遞數據

使用Bundle在Activity間傳遞數據

編輯:關於android開發

  使用Bundle 在Activity 間傳遞數據1:
  1.1從源Activity 中傳遞數據

  Intent openWelcomeActivityIntent=new Intent();
  Bundle myBundelForName=new Bundle();
  myBundelForName.putString("Key_Name",inName.getText().toString());
  myBundelForName.putString("Key_Age",inAge.getText().toString());
  openWelcomeActivityIntent.putExtras(myBundelForName);
  openWelcomeActivityIntent.setClass(AndroidBundel.this, Welcome.class);
  startActivity(openWelcomeActivityIntent);

  1.2目標Activity 中獲取數據

  //從Intent 中獲取數據
  Bundle myBundelForGetName=this.getIntent().getExtras();
  String name=myBundelForGetName.getString("Key_Name");
  myTextView_showName.setText("歡迎您進入:"+name);

  使用Bundle 在Activity 間傳遞數據2:

  2.1從源請求Activity 中通過一個Intent 把一個服務請求傳到目標Activity 中

  //從Intent 中獲取數據
  Bundle myBundelForGetName=this.getIntent().getExtras();
  String name=myBundelForGetName.getString("Key_Name");
  myTextView_showName.setText("歡迎您進入:"+name);
  private Intent toNextIntent;//Intent 成員聲明
  toNextIntent=new Intent();//Intent 定義
  toNextIntent.setClass(TwoActivityME3.this, SecondActivity3.class);
  //設定開啟的下一個Activity
  startActivityForResult(toNextIntent, REQUEST_ASK););

  2.2開啟Intent 時候,把請求碼同時傳遞在源請求Activity 中等待Intent 返回應答結果,通過重載onActivityResult()方法

  @Override
  protected void onActivityResult(int requestCode,int resultCode,Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode==REQUEST_ASK){
      if(resultCode==RESULT_CANCELED){
        setTitle("Cancel****");
      }else if(resultCode==RESULT_OK){
        showBundle=data.getExtras();//從返回的Intent中獲得Bundle
        Name=showBundle.getString("myName");//從bundle中獲得相應數據
         text.setText("the name get from the second layout:n"+Name);
       }
      }
  }

  第一個參數是你開啟請求Intent時的對應請求碼,可以自己定義。
  第二個參數是目標Activity返回的驗證結果碼
  第三個參數是目標Activity返回的Intent

  2.3目標Activity中發送請求結果代碼,連同源Activity請求的數據一同綁定到Bundle中通過Intent傳回源請求Activity中

  backIntent=new Intent();
  stringBundle=new Bundle();
  stringBundle.putString("myName", Name);
  backIntent.putExtras(stringBundle);
  setResult(RESULT_OK, backIntent);//返回Activity結果碼
  finish();

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved