Если я хочу вставить изображение в imageview
, например, 8 номеров изображений в 8 номеров imageview
.Я попробовал следующий код.Почему-то есть некоторые проблемы, если я вставляю 1-е изображение в 1-е imageview
, и результат в порядке.Но если я продолжу вставлять 2-е изображение во 2-е imageview
.1-й imageview
изменится на то же изображение, что и 2-й imageview
.Это треснуло мою голову. В чем проблема моего кода?
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_create_color_qr, container, false);
img1 = (ImageView)v.findViewById(R.id.image1);
img2 = (ImageView)v.findViewById(R.id.image2);
img3 = (ImageView)v.findViewById(R.id.image3);
img4 = (ImageView)v.findViewById(R.id.image4);
img5 = (ImageView)v.findViewById(R.id.image5);
img6 = (ImageView)v.findViewById(R.id.image6);
img7 = (ImageView)v.findViewById(R.id.image7);
img8 = (ImageView)v.findViewById(R.id.image8);
img1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openImg();
i1 = true;
//i2 = false; i3 = false; i4 = false;
//i5 = false; i6 = false; i7 = false; i8 = false;
}
});
img2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v2) {
openImg();
i2 = true;
}
});
img3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openImg();
i3 = true;
}
});
img4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openImg();
i4 = true;
}
});
img5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openImg();
i5 = true;
}
});
img6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openImg();
i6 = true;
}
});
img7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openImg();
i7 = true;
}
});
img8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openImg();
i8 = true;
}
});
return v;
}//end of OnCreateView
и вот метод openImg
и onActivityResult
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