1

我尝试处理哈希图以显示带有图像的列表视图。我在这里搜索答案:如何在 ListView android 中显示图像。但它不起作用...

我的代码是:

for (int i = 0; i < nodes.getLength(); i++) {
Element e = (Element)nodes.item(i);
Map<String, Object> datum = new HashMap<String, Object>(2);
String img_url = getValue(e, "pic");
URL url = null;
                        try {
                            url = new URL(img_url);
                        } catch (MalformedURLException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        }
                        Bitmap bmp = null; 
                        try {
                            bmp=BitmapFactory.decodeStream(url.openConnection().getInputStream());
                        } catch (IOException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        }

                        datum.put("imgurl", bmp);
                        datum.put("title", getValue(e, "title"));
                        datum.put("date", getValue(e, "description"));
                        datum.put("ex", "Autor: "+getValue(e, "creator")+" · Datum: "+getValue(e, "pubDate"));
                        datum.put("id", getValue(e, "id"));

                        data.add(datum);
                }       


final ListView lv = (ListView)findViewById(R.id.listView1);
ada = new SimpleAdapter(getApplicationContext(), data, R.layout.vlistimage, new String[] {"imgurl", "title", "date", "ex", "id"}, new int[] {R.id.list_image, android.R.id.text1, android.R.id.text2, R.id.text3}); 
lv.setAdapter(ada);

感谢您的提示/帮助!

4

1 回答 1

1

这是一个非常常见的问题,你可以谷歌示例。我可以肯定地告诉你,将图像存储在内存中是错误的,因为你会得到OutOfMemoryException

要了解如何使用图像和缓存,请访问高效显示位图

于 2012-11-03T13:51:42.050 回答