Всем доброго дня. Возникло два вопроса.
1. необходимо получить несколько изображений из галереи.
что делаем (приведу только часть кода, что бы не засорять):
- на кнопку вешаем:
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType(IMAGE_TYPE);
//intent.setAction(Intent.ACTION_GET_CONTENT);
// this line is different here !!
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
startActivityForResult(Intent.createChooser(intent,
getString(R.string.no_task)), PICK_FROM_GALLARY);
- объявляем:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
и в нем уже получаем uri и путь к изображению:
if (data.getData() != null) {
try {
//Получаем URI изображения, преобразуем его в Bitmap
//объект и отображаем в элементе ImageView нашего интерфейса:
final Uri imageUri = data.getData();
final InputStream imageStream = getActivity().getContentResolver().openInputStream(imageUri);
final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
imageView.setImageBitmap(selectedImage);
editTextScript.append(getPath(imageUri));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
вот в таком случае мы прекрасно получаем данные для одного выбранного изображения. а как правильно обработать, если выбрано несколько изображений?
2. вопрос от сюда же. как видите в начале, у меня закомментирована строка:
//intent.setAction(Intent.ACTION_GET_CONTENT);
дело в том, что если ее расскомментировать, то я ни чего не получаю вот тут:
editTextScript.append(getPath(imageUri));
editText просто пустой.
пока идет отладка, я в editText вывожу путь к изображению.