我想在这个列表视图中添加图像

时间:2012-04-16 09:33:59

标签: android android-listview

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.offers);
    ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
    String xml = XMLfunctions.getX## Heading ##ML();
    Document doc = XMLfunctions.XMLfromString(xml);
    int numResults = XMLfunctions.numResults(doc);
    if((numResults <= 0))
    {
        Toast.makeText(OffersActivity.this, "Geen resultaten gevonden", Toast.LENGTH_LONG).show();  
        finish();
    }
    ImageView newImg = (ImageView) findViewById(R.id.thumbimage);
    NodeList nodes = doc.getElementsByTagName("result");
    for (int i = 0; i < nodes.getLength(); i++)
    {
        HashMap<String, String> map = new HashMap<String, String>();
        Element e = (Element)nodes.item(i);
        map.put("id", XMLfunctions.getValue(e, "id"));
        map.put("name", "" + XMLfunctions.getValue(e, "name"));
        map.put("Score", "" + XMLfunctions.getValue(e, "score"));
        map.put("thumbnail", "" + XMLfunctions.getValue(e, "thumbimg"));
        mylist.add(map);
    }
    ListAdapter adapter = new SimpleAdapter(this, mylist , R.layout.listitems, 
            new String[] { "name", "Score",  "thumbnail"}, 
            new int[] { R.id.item_title, R.id.item_subtitle, R.id.thumbimage });
    setListAdapter(adapter);
}

我想要显示的图像的地址在

map.put("thumbnail", "" + XMLfunctions.getValue(e, "thumbimg"));

我也得到了他们。实际上他们来自live xml。我想把它们放在图像视图中。请帮忙!

感谢

2 个答案:

答案 0 :(得分:2)

您需要在后台下载图像,然后将它们设置在正确的ImageView中。

默认情况下,适配器不会为您提供所有功能,因此您必须自己做一些额外的编码。

看看这个StackOverflow答案:Lazy load of images in ListView,你会明白我的意思!

答案 1 :(得分:1)

有一个名为LazyListview的列表视图。我认为这对您有所帮助。这个懒惰列表将帮助您在后台下载图像。当您打开列表活动时,您会看到默认图像被加载后下载图像将逐个设置,这使得用户界面非常棒。

我认为code会帮助你很多......: - )