2016-06-21 5 views
0

現在、私は問題があり、ギャラリーから戻るとアクティビティが破棄され再作成されます。ここで
が手順です:Android:ギャラリーから画像を選択するとアクティビティが破壊される

  1. 「フォトフラグメント」から、私はギャラリーから画像を選択する意図を開始します。

    ギャラリーで
    Intent intent = new Intent(); 
    intent.setType("image/*"); 
    intent.setAction(Intent.ACTION_GET_CONTENT); 
    startActivityForResult(Intent.createChooser(intent, "Select File"), SELECT_IMAGE); 
    
  2. 、私は「それから強く押し、「カメラ」フォルダを選択しますホームボタン。デバイスのホーム画面に移動する。
  3. カメラアプリを開いて画像をキャプチャします。
  4. は、ステップから撮影した画像を私のアプリ(ギャラリーから現在)に移動し、ピックアップ3

    --->次に、アプリの活動が破壊され、再び再作成します。それは2つのフラグメントの画面が画面に混在しているためです:「写真断片」と「ホーム断片」のUI。

あなたのアクティビティがどのように再作成されたか知っていますか?それを修正する方法は?
私はこれでほぼ一日過ごしましたが、まだ結果はありません。

ご協力いただきまして誠にありがとうございます。ありがとうございました。

+0

あなたのアクティビティクラスと例外をlogcatに入れます – Stallion

+0

例外はありません。ただonDestroy()を呼び出してから、onCreate()をもう一度呼び出してください。感謝。 –

答えて

0

動作は、アクティビティを破棄し、イメージピッカーから戻ったときに再作成されるという点では正しい動作です。次の方法を使用して、アクティビティの状態を保存および復元する必要があります。

保存 - >onSaveInstanceState 復元 - >onRestoreInstanceState

その他の参考文献 - >Recreating Activity

あなたが保存しonSaveInstanceStateを使用してonActivityCreatedは状態を復元することで、同様のフラグメントのために同じことを行うことができます。

+0

私のアクティビティには、いくつかのフラグメントを持つviewpagerがあります。フラグメントの1つが画像を取り込む意図を開始しています。 'インテントi =新しいインテント(Intent.ACTION_PICK、MediaStore.Images.Media.EXTERNAL_CONTENT_URI); i.setType( "image/*"); getActivity()。startActivityForResult(i、ACQUIRE_IMAGE_REQUEST_CODE); '。画像を取得したり、インテント(例:ギャラリー)を解決したアクティビティから戻るかキャンセルをクリックした後、私のアクティビティレイアウトが破棄されます。 ** onCreate()で印刷されるログコードを設定しているので、再作成されませんが、印刷されません。** –

+0

onActivityResultは呼び出されていますか? – PravinCG

+0

はい、それは呼び出されており、ギャラリーから選んだ画像を取得できます。ギャラリー内の画像をクリックするとビューページ内に表示される画像との間に、私の活動はしばらくの間空白になります。私は私の活動に設定した背景のイメージを持っていて、それは唯一のものです!ビューページが消え、その下の他のすべてのビュー** –

関連する問題