Android の別のアクティビティにデータまたはパラメーターを渡す必要がある場合があります。一度にアクティブにできるアクティビティは 1 つだけです。結果の新しいアクティビティを開くアクティビティと開かれたアクティビティには、リクエストに基づいてインターフェイスまたは別のオプションを設定するためのパラメーターが必要です。そのため、システムが 2 つのアクティビティ間でパラメーターの送信と取得を処理できることが重要です。
注: startActivity(Intent) メソッドは、アクティビティ スタックの一番上に配置される新しいアクティビティを開始するために使用されます。実行するアクティビティを記述する単一の引数、Intent を取ります。
とても使いやすいです。リクエスト コードでアクティビティを開始し、結果コードで終了します。アクティビティの呼び出し元は、要求コードと結果コードを使用して、スイッチャーを実装し、いくつかのロジックを実装できます。次のサンプルを見れば明らかです。
startActivityForResult(intent, CREATE_REQUEST_CODE);
同じアクティビティで、受信メソッドを実装する必要があります。次のようになります。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CREATE_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
//ACT
}
}
}
最後の部分は、呼び出されるアクティビティにあります。最後に、結果コードを指定する必要があります。
setResult(RESULT_CANCELED, null);
finish();
//また
setResult(RESULT_OK, null);
finish();
結論として、Android SDK に既に実装されている結果コードを再利用することをお勧めします。特に、少なくとも再利用できます
RESULT_CANCELED : Standard activity result : operation canceled.
RESULT_FIRST_USER : Start of user-defined activity results.
RESULT_OK : Standard activity result : operation succeeded.
developer.android.comのドキュメント
この問題と例の詳細については、次をご覧ください。
リンク 1、リンク 2が最良の例かもしれません (詳細)。