Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我有两个imageview,但当我调用一个imageview来设置图像时,它会将它们设置为相同的图像_Java_Android_Xml - Fatal编程技术网

Java 我有两个imageview,但当我调用一个imageview来设置图像时,它会将它们设置为相同的图像

Java 我有两个imageview,但当我调用一个imageview来设置图像时,它会将它们设置为相同的图像,java,android,xml,Java,Android,Xml,我有两张背靠背的照片。当我在第一个图像视图中设置图像时,它也会在下一个图像视图中设置相同的图像;当我从一个图像视图中更改图像时,它也会从另一个图像视图中更改该图像。如何修复它。请帮帮我。先谢谢你。 相关代码为: ` ImageView cpic,psymbol; private static final int PICK_IMAGE=100; private static final int SET_IMAGE=100; Uri imageUri,simage

我有两张背靠背的照片。当我在第一个图像视图中设置图像时,它也会在下一个图像视图中设置相同的图像;当我从一个图像视图中更改图像时,它也会从另一个图像视图中更改该图像。如何修复它。请帮帮我。先谢谢你。 相关代码为:

`    ImageView cpic,psymbol;
     private static final int PICK_IMAGE=100;
     private static final int SET_IMAGE=100;
     Uri imageUri,simageUri;
     cpic.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            openGallery();
        }
    });
    psymbol.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            openGallary();
        }


    });

}

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

}
private void openGallary(){
    Intent Gallary = new Intent(Intent.ACTION_PICK,MediaStore.Images.Media.INTERNAL_CONTENT_URI);
    startActivityForResult(Gallary,SET_IMAGE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode==RESULT_OK && requestCode==PICK_IMAGE){
        imageUri=data.getData();



       InputStream imageinput = null;
        try {
            imageinput=getContentResolver().openInputStream(imageUri);
            cpic.setImageBitmap(BitmapFactory.decodeStream(imageinput));

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }



    }
    if (resultCode==RESULT_OK && requestCode==SET_IMAGE){
        simageUri=data.getData();

        InputStream inputimage = null;
        try {
            inputimage=getContentResolver().openInputStream(simageUri);
            psymbol.setImageBitmap(BitmapFactory.decodeStream(inputimage));

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }

}
`

您对这两个应用程序使用相同的请求代码。因此,您必须使用不同的请求代码

所以,你应该这样做-

private static final int PICK_IMAGE=100;
private static final int SET_IMAGE=101;


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

    if (resultCode==RESULT_OK && requestCode==PICK_IMAGE){
        imageUri=data.getData();

        InputStream imageinput = null;
        try {
            imageinput=getContentResolver().openInputStream(imageUri);
            cpic.setImageBitmap(BitmapFactory.decodeStream(imageinput));
        } 
        catch (FileNotFoundException e) {
            e.printStackTrace();
        }

    }

    if (resultCode==RESULT_OK && requestCode==SET_IMAGE){
        simageUri=data.getData();

        InputStream inputimage = null;
        try {
            inputimage=getContentResolver().openInputStream(simageUri);
            psymbol.setImageBitmap(BitmapFactory.decodeStream(inputimage));

        } 
        catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}
这就是你的问题:

 private static final int PICK_IMAGE=100;
 private static final int SET_IMAGE=100;

更改其中一个变量的值,因为在
onActivityResult
中,如果执行了语句,则两个

请添加xmltoo@AmnaNaeem你不能同时接受这两个答案。如果您尝试接受另一个答案,这将取消选中之前选中的答案。因此,您可以选择只选择一个答案。请选择相关的,并为您提供有关该问题的更多知识和描述。
 private static final int PICK_IMAGE=100;
 private static final int SET_IMAGE=100;