在Android中,startActivityForResult()方法用于啟動一個新的Activity,并且希望在新的Activity關閉后獲取返回的結果數據。
使用startActivityForResult()方法的步驟如下:
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
其中,REQUEST_CODE
是一個自定義的整數,用于標識啟動的Activity。
Intent intent = new Intent();
intent.putExtra("result", resultData); // 將結果數據放入Intent中
setResult(Activity.RESULT_OK, intent); // 設置返回結果
finish(); // 關閉當前Activity
其中,resultData
是你希望返回的結果數據。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
// 處理返回的結果數據
String result = data.getStringExtra("result");
// ...
}
}
在onActivityResult()方法中,可以根據requestCode
和resultCode
來判斷返回的結果是否是我們所期望的。然后可以通過data
參數獲取返回的結果數據。
這就是使用startActivityForResult()方法的基本步驟,通過這種方式,可以在不同的Activity之間傳遞數據并獲取返回的結果數據。