【发布时间】:2014-12-21 17:53:50
【问题描述】:
我有一个奇怪的问题。
我在我的代码中使用嵌套片段,(4 级)
首页 -> 服务 -> 服务详情 -> 上传
在最后一个片段(上传片段)中,我想从图库或相机中选择图像,所以我编写了以下代码来选择图像:
switch (which) {
case galleryItem:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(
Intent.createChooser(intent, “Select Album”,
Home.GALLERY_REQUEST);
break;
case cameraItem:
Intent cameraIntent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent,
Home.CAMERA_REQUEST);
break;
一切都很好。
我可以使用以下代码从我的片段的onActivityResult 中的选定图片中获取 URI:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == Home.GALLERY_REQUEST) {
Uri selectedImageUri = data.getData();
} else if (requestCode == Home.CAMERA_REQUEST) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
Uri cameraUri = getImageUri(
getActivity().getApplicationContext(), photo);
}
}
}
问题
如果我打开我的相册并在其中滚动(查看所有缩略图),在选择我的图片onActivityResult 在片段中调用但片段不再可见并且Home 片段(第一个片段)在我的应用程序中可见.
但是如果我打开相册(通过 startActivityForResult )并立即选择照片,一切都会好起来的。
我对相机没有任何问题。
我搜索了很多,但没有找到任何有用的数据, 如果您想查看我的代码的任何部分,请告诉我。 我没有任何崩溃,只是我丢失了我的最后一个片段。 提前致谢。
【问题讨论】:
标签: android fragment onactivityresult android-nested-fragment