Как установить первое изображение в imageView из ArrayList<string>

Я получаю этот массив изображений с помощью библиотеки выбора изображений Pix, я просто хочу отобразить первое изображение из массива в представлении изображения. Не знаю, как это сделать. вот мой код

public void uploadImages(View view) {
   Pix.start(Upload_ad.this,
            100,
            10);

}
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == Activity.RESULT_OK && requestCode == 100) {
             ArrayList<String> returnValue = data.getStringArrayListExtra(Pix.IMAGE_RESULTS);

           for (String path: returnValue)
            {

                String base64 = getBase64FromFile(path);
                encodedImageList.add(base64);
            }

        }
    }
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
188
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете управлять как-то:

ArrayList<String> returnValue = data.getStringArrayListExtra(Pix.IMAGE_RESULTS);
if (returnValue != null && !returnValue.isEmpty()) {
    String firstImage = returnValue.get(0);
    if (!TextUtils.isEmpty(firstImage)) {
        // here you will find first-image
    }
}
Ответ принят как подходящий

Вы можете установить строку base64 из вашего закодированного списка, как показано ниже.

if (encodedImageList != null) {
    byte[] decodedString = Base64.decode(encodedImageList.get(0), Base64.DEFAULT);
    Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 
    yourimageview.setImageBitmap(decodedByte);
}

хорошо, пока работает для обоих, но приложение вылетает, когда я выбираю одно изображение после применения этого кода. if (encodedImageList.get(1) != null) { //2-й байт изображения[] decodedString2 = Base64.decode(encodedImageList.get(1), Base64.DEFAULT); Bitmap decodedByte2 = BitmapFactory.decodeByteArray(decodedString2, 0, decodedString2.length); imageView2.setImageBitmap (decodedByte2); }

muizz alvi 18.03.2019 13:46

отладьте и проверьте, есть ли у вашего encodedImageList элементы, к которым вы обращаетесь.

karan 18.03.2019 13:48

у него есть элемент в encodedImageList.get(1), а второе изображение также установлено для просмотра второго изображения, но проблема возникает, когда я выбираю одно изображение.

muizz alvi 18.03.2019 13:50

Было бы хорошо, если бы вы могли опубликовать его как отдельный вопрос с кодом и трассировкой стека ошибок.

karan 18.03.2019 13:57

Другие вопросы по теме