0

У меня есть фрагмент с помощью кнопки с умыслом для галереиНовая активность от намерения

@Override 
public void onClick(View v) { 
    switch (v.getId()){ 
     //если выбрали галерею 
     case R.id.b_gallery: 
      Intent intentGallery = new Intent(Intent.ACTION_PICK); 
      intentGallery.setType("image/*"); 
      startActivityForResult(intentGallery, GALLERY_INTENT_REQUEST_CODE); 
     break; 

Тогда я выбираю любую фотографию и получить URI. Я должен показать выбранную фотографию в новой деятельности. В фрагменте я сделать:

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent imageReturned) { 
    super.onActivityResult(requestCode, resultCode, imageReturned); 
    switch (requestCode) { 

     //если результат пришел от галереи 
      case GALLERY_INTENT_REQUEST_CODE: 
      if (resultCode == RESULT_OK) { 
       Uri selectedImage = imageReturned.getData(); 
       try { 
        bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), selectedImage); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
       Intent last_intent_gallery = new Intent(getView().getContext(), ViewPhoto.class); 
       last_intent_gallery.putExtra("fotka", bitmap); 
       startActivity(last_intent_gallery); 
      } 
      break; 

В новой деятельности я сделать:

public class ViewPhoto extends Activity { 

    //public final static String THIEF = ; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.view_photo_layout); 

     CustomImageVIew imageView = (CustomImageVIew)findViewById(R.id.customImageVIew); 

     Intent intent = getIntent(); 
     Bitmap fotka = (Bitmap) intent.getExtras().get("fotka"); 
     imageView.setBitmap(fotka); 

    } 

Но после того, как я выбираю фото галерея просто закрыть и я снова получить свой фрагмент. Где мое решение?

Мои AndroidManifest имеют:

<activity android:name=".fragments.ViewPhoto" 
    android:configChanges="orientation|screenSize"> 
    <intent-filter> 
     <action android:name="android.intent.action.DEFAULT"/> 
    </intent-filter> 
</activity> 
+0

ошибок нет в журнале? –

+0

@OussemaAroua нет, просто закройте галерею –

+0

Получает ли элемент управления 'onActivityResult'? –

ответ

0

запрос коды для Вашей стартовой активности для результата и получить результат не то же самое постоянные. См. Имена констант. В нем есть «фотография». У одной есть «галерея». Используйте тот же код для запроса и получения результата.

Редактировать: Я смотрю ваши изменения сейчас, основываясь на вашем комментарии ниже. Посмотрите, не вызван ли ваш вызов onActivityResult активностью. Обычно это так. В этом случае в вашей деятельности переадресуйте вызов методу фрагмента. Или просто переопределите метод в активности, чтобы он реализовал супер. Это вызовет метод фрагмента. Это обычная проблема с началом действия для результата с фрагментом. Сделайте некоторые записи. Посмотрите, вызывает ли этот метод фрагмент. Я предполагаю, что это не так. Вот почему никаких действий не предпринимается.

+0

Ошибка при выполнении поста. Я редактировал свой код. Извините –

+0

Теперь я вижу ваше редактирование. Посмотрите, не вызван ли ваш вызов onActibityResult активностью. Обычно это так. В этом случае в вашей деятельности переадресуйте вызов методу фрагмента. Или просто переопределите метод в активности, чтобы он реализовал супер. Это вызовет метод фрагмента. Это обычная проблема с началом действия для результата с фрагментом. Сделайте некоторые записи. Посмотрите, вызывает ли этот метод фрагмент. Я предполагаю, что это не так. Вот почему никаких действий не предпринимается. – daxgirl

+0

О, может, я покажу вам часть моего кода, которая поможет вам мне помочь? Если это то, что я могу показать? –

Смежные вопросы