Android 如果将多图像插入到多图像视图中
如果我想将图像插入imageview,例如,将8个数字的图像插入8个数字的imageview。我试过下面的代码。不知何故,如果我将第一个图像插入到第一个imageview中,结果很好,就会出现一些问题。但是如果我继续将第二个图像插入到第二个图像视图中。第一个imageview将更改为与第二个imageview相同的图像。它一直在敲我的脑袋,我的代码有什么问题 这是openImg和onActivityResult的方法Android 如果将多图像插入到多图像视图中,android,imageview,Android,Imageview,如果我想将图像插入imageview,例如,将8个数字的图像插入8个数字的imageview。我试过下面的代码。不知何故,如果我将第一个图像插入到第一个imageview中,结果很好,就会出现一些问题。但是如果我继续将第二个图像插入到第二个图像视图中。第一个imageview将更改为与第二个imageview相同的图像。它一直在敲我的脑袋,我的代码有什么问题 这是openImg和onActivityResult的方法 正如我看到的,下面的代码就是问题所在 if(resultCode == RES
正如我看到的,下面的代码就是问题所在
if(resultCode == RESULT_OK){
Uri selectedImage = data.getData();
//below line is the problem, you are repeating this for every result remove it
img1.setImageURI(selectedImage);
InputStream imageStream = null;
我能知道为什么使用recyclerview更好吗
它将删除您正在执行的所有锅炉板代码中的更多代码。它将更多地是一个动态数据。与其使用所有这些,不如使用recyclerview和网格布局。我能知道为什么使用recyclerview更好吗?但是如果我删除它,我如何设置从我的图库中获取的图像并将其放在imageview中?如果1==true,您就在这里执行此操作{img1.setImageURIselectedImage;i1=false;b1=true;}
public void openImg(){
Intent photoPic = new Intent(Intent.ACTION_PICK);
photoPic.setType("image/*");
startActivityForResult(photoPic, SELECT_PHOTO);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode){
case SELECT_PHOTO:
if(resultCode == RESULT_OK){
Uri selectedImage = data.getData();
img1.setImageURI(selectedImage);
InputStream imageStream = null;
try {
//getting the image
imageStream = getActivity().getContentResolver().openInputStream(selectedImage);
imageStream.close();
}catch (IOException e){
e.printStackTrace();
}//end try-catch
if(i1 == true){
img1.setImageURI(selectedImage);
i1 = false;
b1 = true;
}
if(i2 == true){
img2.setImageURI(selectedImage);
i2 = false;
b2 = true;
}
if(i3 == true){
img3.setImageURI(selectedImage);
i3 = false;
b3 = true;
}
if(i4 == true){
img4.setImageURI(selectedImage);
i4 = false;
b4 = true;
}
if(i5 == true){
img5.setImageURI(selectedImage);
i5 = false;
b5 = true;
}
if(i6 == true){
img6.setImageURI(selectedImage);
i6 = false;
b6 = true;
}
if(i7 == true){
img7.setImageURI(selectedImage);
i7 = false;
b8 = true;
}
if(i8 == true){
img8.setImageURI(selectedImage);
i8 = false;
b8 = true;
}
}//end of 1st IF
else{
Toast.makeText(getContext(),"Fail To Get Image", Toast.LENGTH_SHORT).show();
}
}//end of Switch
}//end of Method
if(resultCode == RESULT_OK){
Uri selectedImage = data.getData();
//below line is the problem, you are repeating this for every result remove it
img1.setImageURI(selectedImage);
InputStream imageStream = null;