[解決済み] Android:アクティビティがそれを呼び出すアクティビティに結果を返すようにするにはどうすればよいですか?
2022-05-02 04:41:45
質問
私は
Location
のような多くのアクティビティから呼び出すことができます。
Sign up
と
Order
. において
Location
アクティビティは、ユーザーが自分の位置を入力するため、アクティビティの
Location
は、この新しい位置を、それを呼び出したアクティビティに返します。
そのため
Sign up
アクティビティは
Location
アクティビティは、そのデータを
Sign up
アクティビティがあります。また別の機会に
Order
アクティビティが同じことをします。
備考
コードを載せろと言われそうですが、私はコードをくれと言っているのではなく、ヒントやリンク、良いスレッドが欲しいだけです。
どのように解決するのですか?
呼び出したアクティビティに結果を返すアクティビティを開始するには、次のようにします。開始したアクティビティから結果を得たことを識別するために、以下のようなリクエストコードを渡す必要があります。
startActivityForResult(new Intent(“YourFullyQualifiedClassName”),requestCode);
アクティビティでは
setData()
を使用して結果を返します。
Intent data = new Intent();
String text = "Result to be returned...."
//---set the data to pass back---
data.setData(Uri.parse(text));
setResult(RESULT_OK, data);
//---close the activity---
finish();
そこで、再び最初のアクティビティで、onActivityResult()に以下のコードを記述します。
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == request_Code) {
if (resultCode == RESULT_OK) {
String returnedResult = data.getData().toString();
// OR
// String returnedResult = data.getDataString();
}
}
}
コメントを元にEDITしました。 もし3つの文字列を返したいのであれば、Uriを使う代わりにkey/valueペアをintentで利用することで、これに従います。
Intent data = new Intent();
data.putExtra("streetkey","streetname");
data.putExtra("citykey","cityname");
data.putExtra("homekey","homename");
setResult(RESULT_OK,data);
finish();
で取得する。 onActivityResult を以下のようにします。
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == request_Code) {
if (resultCode == RESULT_OK) {
String street = data.getStringExtra("streetkey");
String city = data.getStringExtra("citykey");
String home = data.getStringExtra("homekey");
}
}
}
関連
-
アプリケーションがメインスレッドで過剰に作業している可能性があります。
-
JVMのエラーに遭遇しました。Java Runtime Environmentによって致命的なエラーが検出されました。
-
Androidカスタムドロップダウンリストボックスコントロール
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] Androidアプリケーションのアクティビティ間でデータを受け渡すにはどうすればよいですか?
-
[解決済み] Androidのローテーションでアクティビティを再開する
-
[解決済み] Intentsを使用して、あるAndroid Activityから別のAndroid Activityにオブジェクトを送信するにはどうすればよいですか?
-
[解決済み】Androidで透明なActivityを作成する方法は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
AAPT2エラーについて:詳しくはログをご確認ください。
-
adb devices OffLine Solution(オフラインソリューション
-
android E/RecyclerView﹕ アダプタが接続されていないため、レイアウトをスキップする。
-
GIF、Lottie、SVGA
-
エラーが発生しました。ArrayAdapter は、リソース ID が TextView である必要があります。
-
アンドロイドスタジオでJunitのエラー問題を解決する
-
Android studioのインストールと問題発生、Emulator: PANIC: AVDのシステムパスが見つかりません。
-
AndroidでListViewを使ってカスタムテーブルを描画する
-
アプリの実行エラー。ターゲットデバイスが見つからない問題
-
Android Studio http://schemas.android.com/apk/res/android 「URIが登録されていません」の解決方法について