在Android中,startActivityForResult()
方法用于從一個活動(Activity)啟動另一個活動并期望返回結果
創建第二個活動(我們將其稱為SecondActivity)并添加所需的UI元素。
在SecondActivity中,為返回數據設置一個按鈕。例如:
Button returnDataButton = findViewById(R.id.return_data_button);
returnDataButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent resultIntent = new Intent();
resultIntent.putExtra("result_key", "這是返回的數據");
setResult(RESULT_OK, resultIntent);
finish();
}
});
private static final int REQUEST_CODE = 1;
Button startSecondActivityButton = findViewById(R.id.start_second_activity_button);
startSecondActivityButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
}
});
onActivityResult()
方法以處理SecondActivity返回的結果。例如:@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK && data != null) {
String result = data.getStringExtra("result_key");
// 在這里處理返回的結果,例如顯示在TextView中
TextView resultTextView = findViewById(R.id.result_text_view);
resultTextView.setText(result);
}
}
現在,當您點擊“啟動SecondActivity”按鈕時,SecondActivity將啟動。當您在SecondActivity中點擊“返回數據”按鈕時,MainActivity將收到返回的數據,并將其顯示在resultTextView
中。