Я хочу получить путь к изображению на той же кнопке, которую я нажал.Кнопки динамические.Ниже приведен мой код ниже:
for (int i = 0; i < 5; i++) {
buttons[i] = new Button(this);
buttons[i].setText("Choose File");
buttons[i].setOnClickListener(this);
buttons[i].setId(i);
buttons[i].setOnClickListener(new View.OnC**strong text**lickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent, "SELECT PICTURE"), PICK_IMAGE_REQUEST);
}
});
linearLayout.addView(buttons[i]);
}
Ниже приведен код для получения пути к файлу через Intent:
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
filepath = data.getData();
getPath(filepath);
full_path.add(getPath(filepath));
String path = String.valueOf(full_path);
if(path!=null){
final_button.setText(path);
}
Log.d("fullpath_new", "" + path);
}
}
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
cursor.moveToFirst();
String document_id = cursor.getString(0);
document_id = document_id.substring(document_id.lastIndexOf(":") + 1);
Log.d("asdasdasdasdas", document_id);
cursor.close();
cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, MediaStore.Images.Media._ID + "= ?", new String[]{document_id}, null);
cursor.moveToFirst();
String path = (cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA)));
cursor.close();
return path;
}
final_button = findViewById(v.getId());
final_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent, "SELECT PICTURE"), PICK_IMAGE_REQUEST);
}
});
}
Есть ли простой способ сделать это в виде диаманта, где кнопкигенерируется динамически?пожалуйста, помогите.