2016-06-21 78 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消失,并在其下的所有其他视图** –