Загружать Изображение с Галереи Android

Я нажимаю на изображение и он позволяет мне выбирать одну из галереи, но когда я выбираю ее, он не меняется. Что мне не хватает части кода, кто-то мог бы помогать мне с этим? Спасибо!

MainActivity:

public class MainActivity extends AppCompatActivity {


    private static final int PHOTO_SELECTED = 1;
    ImageButton fotoH;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

            fotoH = (ImageButton) findViewById(R.id.pruebah);

            fotoH.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                    intent.setType("image/*");
                    startActivityForResult(intent, PHOTO_SELECTED);
                }
            });
        }
    }
3
задан 31.12.2016, 00:06
0 ответов

В конце концов я это решил. Я оставляю здесь код

private static final int PICK_IMAGE = 100;
Uri imageUri;
ImageView foto_gallery;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    foto_gallery = (ImageView)findViewById(R.id.foto_gallery);

    foto_gallery.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            openGallery();
        }
    });
}

private void openGallery(){
    Intent gallery = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
    startActivityForResult(gallery, PICK_IMAGE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    if(resultCode == RESULT_OK && requestCode == PICK_IMAGE){
        imageUri = data.getData();
        foto_gallery.setImageURI(imageUri);
    }
    }
    }
5
ответ дан 03.12.2019, 17:55
  • 1
    Этот тип có я говорю, что оно функционирует, но не все модели, ¿ Cuá l podrí чтобы быть недостатком? –  06.12.2017, 16:55

Ты соглашаешься через метод, определенный в виде, чтобы реализовывать intent,

public void onClick(View v) {

как выбор ты можешь определять в каждом виде индекс элемента посредством Tag,

   <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:tag="0"
            android:src="@drawable/image" />

от этой формы ты можешь получать индекс отборной фотографии:

        fotoH = (ImageButton) findViewById(R.id.pruebah);

        //Obtiene el indice de la foto selecionada a travez de la etiqueta definida (tag).
        PHOTO_SELECTED = Integer.Parse(fotoH.getTag());

        fotoH.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                intent.setType("image/*");
                startActivityForResult(intent, PHOTO_SELECTED);
            }
        });

Хотя важно комментировать, что то, что ты реализуешь, должно осуществляться через Кустом Интент Chooser, это, чтобы открывать фотографию в приложении, которое могло бы манипулировать твоим типом содержимого, он имел бы эту форму:

 startActivityForResult(Intent.createChooser(intent, "Selecciona Imagen"), PHOTO_SELECTED);
3
ответ дан 03.12.2019, 17:55

Теги

Похожие вопросы