У меня есть активность с 5 ImageViews. Я установил на слушателей щелчка для всех этих представлений. При щелчке по представлению изображения открывается средство выбора файлов, и после выбора изображения оно должно отображаться в представлении изображения, которое было первоначально нажато. Моя проблема в том, что я не знаю, как определить, какое изображение было нажато, и таким образом отобразить изображение в правильном виде. Ниже приведен мой код, который на данный момент может отображать выбранное изображение только в «жестко запрограммированном» виде.
public class event_creator_view_activity extends AppCompatActivity {
private ImageView display, img1,img2,img3,img4;
private Uri imageuri;
private static final int PICK_IMAGE_REQUEST = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_event_creator_view_activity);
display = findViewById(R.id.creator_display_image);
img1 = findViewById(R.id.creator_img1);
img2 = findViewById(R.id.creator_img2);
img3 = findViewById(R.id.creator_img3);
img4 = findViewById(R.id.creator_img4);
display.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openfileChooser();
}
});
img1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openfileChooser();
}
});
img2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openfileChooser();
}
});
img3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openfileChooser();
}
});
img4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openfileChooser();
}
});
}
private void openfileChooser(){
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, PICK_IMAGE_REQUEST);
}
private String getFileExtension(Uri uri){
ContentResolver cR = this.getContentResolver();
MimeTypeMap mime = MimeTypeMap.getSingleton();
return mime.getExtensionFromMimeType(cR.getType(uri));
}
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==PICK_IMAGE_REQUEST&&resultCode==this.RESULT_OK&&data!=null&&
data.getData()!=null){
imageuri = data.getData();
Picasso.get().load(imageuri).into(display);
// uploadFile();
}
}
}