#android #xml
#Android #xml
Вопрос:
У меня есть XML-файл со списком имен изображений (плюс другие данные)
Пример: image1, image2, image3 и т. Д
Я могу загрузить XML-файл, проанализировать результаты и просмотреть имена изображений. У меня возникли проблемы с извлечением изображений из папки для рисования и отображением их в приложении.
Когда скрипт выполняет цикл, он извлекает каждое имя изображения (например, image1, image2 и т. Д.), Которое соответствует изображению в папке drawables (например, image1.png, image2.png и т. Д.). Это имя присваивается строке ImageNameInXml. Я хочу использовать эту строку, чтобы присвоить ImageView этому объекту рисования, а затем повторить это (через уже существующий цикл) для каждого изображения, отображающего все изображения на экране.
String ImageNameInXml = ghostCamLocation.getAttributeValue(null, XML_TAG);
ImageView img = (ImageView) findViewById(R.id.MyImageView);
int resId = getResources().getIdentifier(ImageNameInXml , "@drawable/" ImageNameInXml, getPackageName());
imgGhostCamLocationTmbnail.setImageResource(resId);
В stackoverflow найден приведенный выше код для загрузки изображения по имени строки, но, похоже, я не могу заставить его работать.
Я ценю помощь.
Береги себя, Шеннон
Ответ №1:
int resId = getResources().getIdentifier(ImageNameInXml , "drawable", getPackageName());
попробуйте это.
Комментарии:
1. лол. Я только что заметил это. Я нашел другой пример, и вы правы, он должен был быть просто «рисованным».
2. Единственная проблема сейчас заключается в том, что он не отображает изображения одно за другим. Они перекрываются? Должен ли я добавить что-то для смещения каждого изображения, чтобы они отображались друг за другом?
3. Я предполагаю, что они перекрываются, вы должны поместить изображения в какой-то макет, может быть LinearLayout.
4. Они находятся в линейном расположении в XML-файле. Я также попробовал относительный макет. Я думаю, что мне нужно указывать уникальное имя каждый раз, когда я вызываю ImageView, но не могу заставить его работать.
5. Кто-нибудь знает, как отображать изображения одно за другим? Я думаю, мне нужно обновить img, чтобы он был уникальным для каждого цикла. Будет ли это отображать каждое изображение отдельно? То же самое происходит и с любым TextView. Я подозреваю, что, поскольку имя img не меняется, оно просто перезаписывает тот же ImageView новым изображением. Мне нужен новый ImageView, создаваемый в каждом цикле. Есть идеи?