Я пытаюсь динамически помещать различные изображения (.jpg, .png) в ListView
из r es/drawable
.
Имена из изображений, которые я получаю из базы данных.
Сами изображения находятся в папке res/drawable
.
Это то, что у меня уже есть, с ошибкой: D
String imgName; -> Есть имена img, которые мне нужны из базы данных
Drawable drawable;
drawable = Class.appContext.getResources().getDrawable(Class.appContext.getResources().getIdentifier("com.example.test:drawable/"+imgName,null,null));
Затем я получаю это в ArrayList
для каждого изображения в базе данных (+ - 200 изображений):
ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
HashMap<String, Object> map = new HashMap<String, Object>();
map = new HashMap<String, Object>();
map.put("img",drawable);
map.put("text", "some text");
list.add(map);
Теперь я возвращаю список;
В классе, где я звоню:
listReceive = Class.getImages(appContext);
listSetup = new SimpleAdapter(this, listReceive, R.layout.row,
new String[] {"img", "text"}, new int[] {R.id.IMG_CELL, R.id.TEXT_CELL});
lvList.setAdapter(listSetup);
Строка XML представляет собой ImageView
и TextView
.
System.out: resolUri не удалось на плохой
растровое изображение URI:
android.drawable.bitmapDrawable@405739
Не удалось выполнить resolUri на неверном растровом URI:
android.drawable.bitmapDrawable@405639
Не удалось выполнить resolUri на неверном растровом URI:
android.drawable.bitmapDrawable@405959
Не удалось выполнить resolUri на неверном растровом URI:
android.drawable.bitmapDrawable@405677 ...
... ...
У меня получилось, когда я сохранил изображения в локальную память или на SD-карту, а затем поместил путь в массив, например:
map.put("img","/data/data/com.example.test/images/" + imgName);
Я не могу использовать это, потому что тогда мне нужно будет скопировать изображения из res/drawable
на локальный или SD. Это занимает в 2 раза больше памяти. не может иметь этого.
Должен быть способ динамически получать изображения из отрисовки.
Кто-нибудь знает, что мне здесь не хватает?
Спасибо.