загрузить изображение из галереи во фрагменте, нажав кнопку основного действия - PullRequest
0 голосов
/ 09 июля 2020

У меня есть плавающая кнопка в xml файле основного действия

        <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/post_my_khoj"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:tint="@android:color/white"
        app:fabSize="normal"
        app:layout_anchor="@id/bar"
        app:srcCompat="@drawable/ic_arrow_upward"
        tools:ignore="VectorDrawableCompat" />

Нажав эту кнопку, я хочу загрузить изображение в image_fragment, где у меня есть изображение, как показано ниже

    <ImageView
    android:id="@+id/imgView"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:src="@mipmap/ic_launcher"
    android:layout_below="@id/relativelayout"/>

Я попытался установить изображение из основного действия, как показано ниже, но я не могу это сделать (в основном действии я написал mykhoj = findviewbyid (R.id.post_my_khoj)

myKhoj.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){
                if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED){
                    String[] permissions={Manifest.permission.READ_EXTERNAL_STORAGE};
                    requestPermissions(permissions,PERMISSION_CODE);
                }
                else {
                    pickFromGallery();
                }

                }
            else {
                pickFromGallery();
            }
            }

private void pickFromGallery() {

    Intent intent=new Intent(Intent.ACTION_PICK);
    intent.setType("image/*");
    startActivityForResult(intent,IMAGE_PICK_COSE);

}


@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    switch (requestCode){
        case PERMISSION_CODE:{
            if (grantResults.length>0 && grantResults[0]==PackageManager.PERMISSION_GRANTED){
                pickFromGallery();
            }
            else {
                Toast.makeText(this,"Permission Denied...",Toast.LENGTH_SHORT).show();
            }
        }
    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == RESULT_OK && requestCode == IMAGE_PICK_COSE) {
        imageView.setImageURI(data.getData());
    }


}
...