Как установить разные обрезанные изображения в разных изображениях - PullRequest
0 голосов
/ 06 февраля 2020

Когда я добавляю 1-е изображение, оно обрезается и отображается в 1-м изображении, но когда я добавляю 2-е изображение, оно переопределяет 1-е изображение, присутствующее в 1-м изображении, вместо этого оно должно отображаться во 2-м изображении.

Проблема показана здесь

@RequiresApi(api = Build.VERSION_CODES.M)
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode== 0  && resultCode == RESULT_OK && data != null && data.getData() !=null){
        Imageuri = data.getData();
        CropImage.activity(Imageuri).setGuidelines(CropImageView.Guidelines.ON).start(AddaddNewProductActivity.this);
    }
    else if (requestCode== 1  && resultCode == RESULT_OK && data != null && data.getData() !=null){
        Imageuri = data.getData();
        CropImage.activity(Imageuri).setGuidelines(CropImageView.Guidelines.ON).start(AddaddNewProductActivity.this);
    }
    else if (requestCode== 2  && resultCode == RESULT_OK && data != null && data.getData() !=null){
        Imageuri = data.getData();
        CropImage.activity(Imageuri).setGuidelines(CropImageView.Guidelines.ON).start(AddaddNewProductActivity.this);
    }

    if ( requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE){
        Image.setBackground(null);
        CropImage.ActivityResult result = CropImage.getActivityResult(data);
        croppedImageUri = result.getUri();
        try {
            Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), croppedImageUri);
            Image.setImageBitmap(bitmap);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}    
private void showImageChooser(){
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent,"Select Picture"), 0);
    }

    private void showImageChooser1(){
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent,"Select Picture"), 1);
    }

    private void showImageChooser2(){
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent,"Select Picture"), 2);
    }

1 Ответ

0 голосов
/ 06 февраля 2020

Я думаю, что вы установили все изображения только в одном виде, для этого создается проблема, я внес некоторые изменения в ваш код, пожалуйста, проверьте ниже, работает ли он или нет.

// First declare one variable to identify which imageview is clicked
int currentSelectedImage = 0;


@RequiresApi(api = Build.VERSION_CODES.M)
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if ((requestCode == 0 || requestCode == 1 || requestCode == 2) && resultCode == RESULT_OK && data != null && data.getData() !=null){
        currentSelectedImage = requestCode;
        Imageuri = data.getData();
        CropImage.activity(Imageuri).setGuidelines(CropImageView.Guidelines.ON).start(AddaddNewProductActivity.this);
    }

    if ( requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE){

        CropImage.ActivityResult result = CropImage.getActivityResult(data);
        croppedImageUri = result.getUri();
        try {
            Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), croppedImageUri);

            if(currentSelectedImage == 0)
            {
                Image.setBackground(null);
                Image.setImageBitmap(bitmap);
            }
            else if(currentSelectedImage == 1)
            {
                Image1.setBackground(null);
                Image1.setImageBitmap(bitmap);
            }
            else if(currentSelectedImage == 2)
            {
                Image2.setBackground(null);
                Image2.setImageBitmap(bitmap);
            }


        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...