Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android學習筆記(十一)——從意圖返回結果

Android學習筆記(十一)——從意圖返回結果

編輯:關於Android編程

從意圖返回結果


startActivity()方法調用另一個活動,但並沒有返回結果給當前活動。此時如想從一個活動中回傳數據,就要使用startActivityForResult()方法。


點此獲取完整代碼~


1、使用上一篇中創建的項目,在secondactivity.xml文件中添加文本框和按鈕,代碼如下:

    

    

    

2、在SecondActivity.java文件中添加onClick()方法,代碼如下:

	public void onClick(View v) {
		Intent data = new Intent();

		EditText txt_username = (EditText) findViewById(R.id.txt_username);
		// 使用setData()方法使用一個Intent對象回傳數據
		data.setData(Uri.parse(txt_username.getText().toString()));
		// setResult()方法設置結果碼和回傳給調用活動的數據
		setResult(RESULT_OK, data);
		// 關閉Activity
		finish();
	}

3、在MainActivity.java文件中添加如下代碼:

在onClick()方法中:

		startActivityForResult(new Intent(this, SecondActivity.class),
				request_Code);// 此方法調用一個活動並等待從此活動返回結果:傳入Intent對象和請求碼(僅為一個整數值,用於標識正在調用的活動)
自己定義的onActivityResult()方法:

	// 當一個活動返回時,必須調用自己實現的onActivityResult()方法
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (requestCode == request_Code) {// 檢驗請求碼
			if (resultCode == RESULT_OK) {// 檢驗結果碼
				Toast.makeText(this, data.getData().toString(),
						Toast.LENGTH_SHORT).show();
			}
		}
	}


4、運行,效果如下:

點擊按鈕:

\


輸入名字,點擊OK:


總結:

1、調用onstartActivityForResult()方法並設置好請求碼;

2、在被調用活動中,通過Intent對象回傳數據並設置結果碼(setData()方法和setResult()方法);

3、在調用活動中,自己定義onActivityResult()方法,先校驗請求碼和結果碼,再進行其它處理。

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