Как взять изображение из галереи и отобразить в ImageView в Android Studio - PullRequest
0 голосов
/ 08 января 2019

Когда мы пишем этот код, галерея открывается, и изображение выбирается, но не может отображаться в изображении нашего приложения для Android.

Вот мой код MainActivity.java: -

 public class Main3Activity extends AppCompatActivity {
    public static final int GALLERY_PIC = 1;




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        Button buttonupload_pic =  findViewById(R.id.buttonupload_pic);
        buttonupload_pic.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {

                Intent i = new Intent(
                        Intent.ACTION_PICK,
                        android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

                startActivityForResult(i, GALLERY_PIC);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == GALLERY_PIC && resultCode == RESULT_OK && null != data) {
            Uri selectedImage = data.getData();
            String[] filePathColumn = { MediaStore.Images.Media.DATA };

            Cursor cursor = getContentResolver().query(selectedImage,
                    filePathColumn, null, null, null);
            cursor.moveToFirst();

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            String picturePath = cursor.getString(columnIndex);
            cursor.close();

            ImageView imagepic=  findViewById(R.id.imagepic);
            imagepic.setImageBitmap(BitmapFactory.decodeFile(picturePath));

        }


    }
    }

вот код xml: -

<ImageView
    android:id="@+id/imagepic"
    android:layout_width="216dp"
    android:layout_height="156dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="81dp"
    android:layout_weight="1"></ImageView>

<Button
    android:id="@+id/buttonupload_pic"
    android:layout_width="wrap_content"
    android:layout_height="36dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="247dp"
    android:text="Upload Photo"
    android:layout_gravity="center"
    android:layout_weight="0"/>

и это разрешения, которые я включил: -

<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Скажите, пожалуйста, с нуля, поскольку я новичок в Android Studio

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...