溫馨提示×

Android startActivityForResult的基本用法詳解

小云
162
2023-08-10 12:14:31
欄目: 編程語言

在Android開發中,startActivityForResult()是一個用來啟動一個新的Activity并且在新的Activity關閉后返回結果的方法。該方法可以用于在不同的Activity之間進行數據的傳遞和返回結果的處理。

基本用法如下:

  1. 在當前的Activity中調用startActivityForResult()方法來啟動一個新的Activity:
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);

其中,第一個參數為當前的Context,第二個參數為要啟動的Activity的class,第三個參數為一個用來標識請求的唯一的整數值。

  1. 在被啟動的Activity中通過setResult()方法設置返回的結果:
Intent intent = new Intent();
intent.putExtra("result", "Hello World");
setResult(RESULT_OK, intent);

其中,第一個參數為返回的結果碼,一般使用RESULT_OK表示成功,第二個參數為包含返回數據的Intent對象。

  1. 在當前的Activity中重寫onActivityResult()方法來處理返回的結果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
// 處理返回的結果
}
}

其中,requestCode參數為請求的標識,resultCode參數為返回的結果碼,data參數為包含返回數據的Intent對象。根據requestCode和resultCode來處理返回的結果。

需要注意的是,被啟動的Activity如果被用戶手動關閉(按下返回鍵)而不是通過setResult()方法設置返回結果,則resultCode將為RESULT_CANCELED,表示操作取消。

以上就是Android startActivityForResult的基本用法。通過該方法可以方便地進行Activity之間的數據傳遞和返回結果的處理。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女