[解決済み] フラグメントからstartActivityForResult()を実行し、子アクティビティが終了すると、フラグメントのonActivityResult()が呼び出されない。
2022-04-21 18:50:40
質問
FirstActivity.Java
があります。
FragmentA.Java
を呼び出します。
startActivityForResult()
.
SecondActivity.Java
コール
finish()
しかし
onActivityResult
が呼び出されることはありません。
に書かれている
FragmentA.Java
.
FragmentA.Java
のコードを使用します。
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// some code
Intent i = new Intent(getActivity(), SecondActivity.class);
i.putExtra("helloString", helloString);
getActivity().startActivityForResult(i, 1);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
getActivity();
if(requestCode == 1 && resultCode == Activity.RESULT_OK) {
//some code
}
}
SecondActivity.Java
のコードになります。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//some code
Intent returnIntent = new Intent();
returnIntent.putExtra("result", result);
setResult(Activity.RESULT_OK,returnIntent);
finish();
}
コードのデバッグを試みましたが
onAcitvityResult()
が呼び出されることはありません。
解決方法は?
を記述する必要があります。
onActivityResult()
の中に
FirstActivity.Java
を次のようにします。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
つまり、これはあなたのフラグメントの
onActivityResult()
編集する
に置き換えることです。
getActivity().startActivityForResult(i, 1);
で
startActivityForResult(i, 1);
関連
-
java.lang.NullPointerException: NULLオブジェクト参照で仮想メソッド......を呼び出そうとしました。
-
android.os の NetworkOnMainThreadException。
-
アプリはGoogle検索でインデックスされません Androidmanifestのクソみたいな黄色い警告
-
ArrayAdapter は、リソース ID が TextView であることが必要です。
-
指定された子にはすでに親がいます。まず、その子の親に対して removeView() をコールする必要があります。
-
JVMのエラーに遭遇しました。Java Runtime Environmentによって致命的なエラーが検出されました。
-
ライブラリをモジュールとしてインポートする際にエラーが発生しました。Error:A problem occurred configuring project ':library'.
-
AndroidでListViewを使ってカスタムテーブルを描画する
-
Android Studioのgitの使用とgitの設定パス
-
アンドロイドにおけるトークンの利用
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
adb devices OffLine Solution(オフラインソリューション
-
Androidのadbデバイスがオフラインであることが判明
-
NetworkOnMainThreadException
-
gitlab 設定エラー。リモートリポジトリから読み込めなかったか、ホストキーの検証に失敗しました。
-
デフォルトのアクティビティが見つからない場合の対処法
-
GIF、Lottie、SVGA
-
AndroidがMainActivityが包含クラスでないというエラーを報告する
-
Android Nで報告されたエラーを解決する: android.os.FileUriExposedException: file:///storage/emulated/0/
-
SpinnerのOnItemSelectedListenerのonItemSelectedメソッドの4つのパラメーターの意味
-
超シンプルなアンドロイドのタイムディレイ機能