[解決済み] あるアクティビティから前のアクティビティに値を渡す方法
2022-12-07 23:21:14
質問
ある画面から前の画面に値を渡すにはどうしたらよいでしょうか。
このようなケースを考えてみましょう。2つのアクティビティがあります。最初の画面には1つの
TextView
とボタンがあり、2つ目のアクティビティには1つの
EditText
とボタンがあります。
最初のボタンをクリックすると、2番目のアクティビティに移動し、ここでユーザーはテキストボックスに何かを入力する必要があります。2番目の画面からボタンを押すと、テキストボックスの値が1番目のアクティビティに移動し、それが1番目のアクティビティに表示されるはずです。
TextView
.
どのように解決するのですか?
あるアクティビティで実行されたアクションを別のアクティビティで取得するには、3つのステップが必要です。
サブアクティビティとしてセカンダリアクティビティ(「Edit Text」アクティビティ)を起動するには、次のようにします。
startActivityForResult
で起動します。
Intent i = new Intent(this,TextEntryActivity.class);
startActivityForResult(i, STATIC_INTEGER_VALUE);
サブアクティビティ内では、ユーザーがボタンをクリックしたときに Activity を閉じるのではなく、新しい Intent を作成し、その extras bundle に入力されたテキスト値を含める必要があります。それを親呼び出しに戻すには
setResult
を呼び出す前に
finish
を呼び出して二次アクティビティを終了させる。
Intent resultIntent = new Intent();
resultIntent.putExtra(PUBLIC_STATIC_STRING_IDENTIFIER, enteredTextValue);
setResult(Activity.RESULT_OK, resultIntent);
finish();
最後は呼び出し側のActivityになります。オーバーライド
onActivityResult
をオーバーライドして、テキスト入力Activityからのコールバックを待ちます。返されたIntentからextraを取得し、表示すべきテキスト値を取得します。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode) {
case (STATIC_INTEGER_VALUE) : {
if (resultCode == Activity.RESULT_OK) {
String newText = data.getStringExtra(PUBLIC_STATIC_STRING_IDENTIFIER);
// TODO Update your TextView.
}
break;
}
}
}
関連
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] Androidアプリケーションのアクティビティ間でデータを受け渡すにはどうすればよいですか?
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み] グリッドレイアウトにおけるフリングジェスチャーの検出
-
[解決済み] AndroidでstartActivityForResultを管理する方法
-
[解決済み】Androidで、あるアクティビティから別のアクティビティにオブジェクトを渡す方法
-
[解決済み] プログラムでソフトキーボードを開く
-
[解決済み] 文字サイズとアンドロイドの画面サイズの違い
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Androidアプリケーションのアクティビティ間でデータを受け渡すにはどうすればよいですか?
-
[解決済み】押し戻されたときに、2番目のアクティビティから1番目のアクティビティにデータを渡すには?- アンドロイド
-
[解決済み] プログラム的に電話をかけるには?
-
[解決済み] handler.postDelayed()を停止する。
-
[解決済み] Studio 3.4 をアップデートしたら、引数の leftShift() メソッドが見つかりませんでした。
-
[解決済み] 通知をクリックした後にアプリケーションを開く
-
[解決済み] 複数のフィルタを持つBroadcastReceiverか、複数のBroadcastReceiverか?
-
[解決済み] 非推奨のandroid.support.v4.app.ActionBarDrawerToggleの置き換え方法
-
[解決済み] BottomNavigationViewを新しいNavControllerで使用する際に、フラグメントを生かす方法はありますか?
-
[解決済み] <string> XMLで改行やタブを作るには(eclipse/android)?