startActivityForResult
是 Android 中一種常用的 Activity 之間通信方式,它允許你從一個 Activity 啟動另一個 Activity,并在第二個 Activity 完成操作后返回結果給第一個 Activity。以下是如何使用 startActivityForResult
實現多個 Activity 之間的交互:
startActivityForResult
方法啟動第二個 Activity:Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
這里的 REQUEST_CODE
是一個整數常量,用于標識該請求。你可以根據需要定義不同的請求碼。
setResult
方法設置結果,并調用 finish
方法關閉 Activity:Intent resultIntent = new Intent();
resultIntent.putExtra("result_key", "result_value");
setResult(RESULT_OK, resultIntent);
finish();
這里的 result_key
和 result_value
分別表示結果的鍵和值。你可以根據需要自定義這些值。
onActivityResult
方法以接收第二個 Activity 返回的結果:@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
String result = data.getStringExtra("result_key");
// 處理結果
}
}
這里的 requestCode
和 resultCode
分別表示請求碼和結果碼。當 requestCode
與發起請求時的請求碼相等,且 resultCode
為 RESULT_OK
時,你可以從 data
Intent 中獲取返回的結果,并進行相應的處理。
通過以上步驟,你可以實現多個 Activity 之間的交互。如果需要與更多 Activity 交互,只需按照相同的方式啟動新的 Activity 并處理返回的結果即可。