Я пытаюсь создать список продуктов с изображениями каждого продукта в виде списка. Контент взят из Интернета.
Мне удалось создать представление списка с названием каждого продукта, и при нажатии на каждый элемент списка отображается изображение продукта. Однако я хочу, чтобы изображения отображались при создании списка, и я не уверен, как это сделать.
Я был бы очень признателен за любую помощь. Вот мой код для активности:
NodeList nodes = doc.getElementsByTagName("result");
// Drawable d = null;
for (int i = 0; i < nodes.getLength(); i++) {
// HashMap<String, String> map = new HashMap<String, String>();
HashMap<String, Object> map = new HashMap<String, Object>();
Element e = (Element) nodes.item(i);
map.put("id", "ID: " + XMLfunctions.getValue(e, "id"));
map.put("name", "Name: " + XMLfunctions.getValue(e, "name"));
Drawable d = dManager
.fetchDrawable("http://MY_WEBSITE/images/"
+ XMLfunctions.getValue(e, "image"));
map.put("image", d);
map.put("imageUrl", XMLfunctions.getValue(e, "image"));
mylist.add(map);
}
ListAdapter adapter = new SimpleAdapter(this, mylist,
R.layout.products, new String[] { "image", "name", "id", },
new int[] { R.id.item_image, R.id.item_title,
R.id.item_subtitle });
setListAdapter(adapter);
final ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
@SuppressWarnings("unchecked")
HashMap<String, Object> o = (HashMap<String, Object>) lv
.getItemAtPosition(position);
//Toast.makeText(productsActivity.this, "ID '" + o.get("id") +
//"' was clicked.", Toast.LENGTH_LONG).show();
Drawable d = dManager
.fetchDrawable("http://MY_WEBSITE/images/"
+ o.get("imageUrl"));
ImageView imgView = (ImageView) view
.findViewById(R.id.item_image);
o.put("image", d);
imgView.setImageDrawable(d);
}
});