1. ホーム
  2. android

[解決済み】押し戻されたときに、2番目のアクティビティから1番目のアクティビティにデータを渡すには?- アンドロイド

2022-04-13 22:36:44

質問

2つのアクティビティがあります。 アクティビティ1 アクティビティ2 .

Activity1 私は ボタン テキストビュー . ボタンがクリックされると アクティビティ2 が開始されます。

Activity2 私は テキストを編集する .

から取得したデータを表示したい。 テキストを編集する アクティビティ2 テキストビュー アクティビティ1 からバックが押されたとき アクティビティ2 .

これを動作させるためのコードを誰か教えてください。

どのように解決するのですか?

でActivity2を開始します。 startActivityForResult を使用し setResult メソッドを使って、Activity2からActivity1へデータを送り返します。Activity1では onActivityResult を更新するために TextViewEditText アクティビティ2のデータです。

例えば

アクティビティ1 として、Activity2を開始します。

Intent i = new Intent(this, Activity2.class);
startActivityForResult(i, 1);

アクティビティ2 を使用します。 setResult を送信してください。

Intent intent = new Intent();
intent.putExtra("editTextValue", "value_here")
setResult(RESULT_OK, intent);        
finish();

そして、その中に アクティビティ1 でデータを受信します。 onActivityResult :

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 1) {
         if(resultCode == RESULT_OK) {
             String strEditText = data.getStringExtra("editTextValue");
         }     
    }
} 

また、可能であれば 共有設定 アクティビティ間でデータを共有するために使用します。