У меня странная проблема.Фрагмент исчезает после возвращения из startActivityForResult
я использовать вложенный фрагмент в моем коде (4 уровня)
Главных -> Услуги -> ServiceDetails -> Загрузить
в последнем фрагменте (Upload Fragment) я хочу, чтобы выбрать изображение из галереи или камера, поэтому я написал следующий код, чтобы выбрать изображение:
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;
и все в порядке. я могу получить URI от выбранного изображения в onActivityResult
моего фрагмента с помощью следующего кода:
@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
. , но если я открою альбом (поначалуActivityForResult) и сразу же выберите фотографию, все будет хорошо.
У меня нет проблем с камерой.
Я много искал, но не нашел полезных данных, , если вы хотите, чтобы какая-либо часть моего кода сообщила мне. Я не получаю никакого сбоя, просто я теряю свой последний фрагмент. благодарит заранее.
Та же проблема, с которой я столкнулся, Intent.createChooser использовать при вызове и слиянии нескольких намерений. – Piyush