[解決済み] FragmentでonActivityResultが呼び出されない
2022-03-18 17:45:57
質問
このフラグメントをホストしているアクティビティは、その
onActivityResult
は、カメラアクティビティが戻ったときに呼び出されます。
私のフラグメントは、カメラで写真を撮るために送られたインテントで、結果に対するアクティビティを開始します。写真アプリケーションは正常にロードされ、写真を撮影して戻ります。このとき
onActivityResult
しかし、一度もヒットしません。ブレークポイントを設定しましたが、何もトリガーされません。フラグメントに
onActivityResult
? 提供されている機能なので、そう思うのですが。なぜこれが起動しないのでしょうか?
ImageView myImage = (ImageView)inflatedView.findViewById(R.id.image);
myImage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, 1888);
}
});
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if( requestCode == 1888 ) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
((ImageView)inflatedView.findViewById(R.id.image)).setImageBitmap(photo);
}
}
解決方法は?
ホスティング活動のオーバーライド
onActivityResult()
を呼び出したわけではありません。
super.onActivityResult()
を処理しきれない結果コードに対して どうやら、フラグメントが
startActivityForResult()
を呼び出すと、アクティビティはその結果を最初に処理することになります。これは、フラグメントのモジュール性を考慮すると、理にかなっています。一度、私が実装した
super.onActivityResult()
が処理されない結果に対して、フラグメントは結果を処理する機会を得ました。
あと、@siqingの回答から。
結果をフラグメントに反映させるために
startActivityForResult(intent,111);
ではなく
getActivity().startActivityForResult(intent,111);
をフラグメントの中に入れてください。
関連
-
AAPT2エラーについて:詳しくはログをご確認ください。
-
adb devices OffLine Solution(オフラインソリューション
-
IllegalStateException。ArrayAdapter は、リソース ID が TextView である必要があります。
-
GoogleMapと連携し、位置情報の取得が可能
-
Android TextViewにandroid:ellipsize=endのバグがある。
-
問題 ---- Android ---- ActivityManager: Error: アクティビティクラス{xx/xx.MainActivity}が存在しない
-
アンドロイドシェイプ、グラデーション、角丸、ボーダーラインの設定
-
android studioが新しいプロジェクトを作成しますが、プロジェクトの同期に成功するまでデザインエディタが使用できません。
-
Android TextViewは、テキスト内容が表示省略記号を超えているかどうかを判断する
-
[解決済み] 新しいAndroid Fragmentをインスタンス化するためのベストプラクティス
最新
-
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 studio]com.android.ide.common.process.ProcessException: aaptの実行に失敗しました
-
Gradle の同期に失敗しました。com.android.tools.build:gradle が見つかりませんでした。
-
telnet'が内部コマンドまたは外部コマンドとして認識されない 解決方法
-
JVMのエラーに遭遇しました。Java Runtime Environmentによって致命的なエラーが検出されました。
-
Android Bluetooth 開発の基本プロセス
-
Android基本アプレット
-
Androidカスタムドロップダウンリストボックスコントロール
-
アプリの実行エラー。ターゲットデバイスが見つからない問題
-
Android Studioのgitの使用とgitの設定パス
-
アンドロイドにおけるトークンの利用