2016-06-21 79 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。其中一個片段正在開始挑選圖像的意圖。 'Intent i = new Intent(Intent.ACTION_PICK,MediaStore.Images.Media.EXTERNAL_CONTENT_URI); i.setType(「image/*」); getActivity()。startActivityForResult(i,ACQUIRE_IMAGE_REQUEST_CODE);'。在創建圖像或點擊返回或從解決意圖的活動(例如圖庫)中取消後,我的活動佈局將被刪除。 **因爲我已經設置了一些要在onCreate()中打印的日誌代碼,所以它不會被重新創建,但它們不會被打印。** –

+0

您是否在onActivityResult被調用? – PravinCG

+0

是的,它被稱爲,我可以得到我從畫廊挑選的圖像。但是在點擊圖庫中的圖像和viewpager中出現在我的片段中的圖像之間,**我的活動在一段時間內變得空白。我有一個背景圖片,我已經設置爲我的活動,這是唯一一個顯示! viewpager消失,並在其下的所有其他視圖** –