1

ハッシュマップを処理して、画像付きのリストビューを表示しようとしています。私はここのような答えを探します:ListViewandroidで画像を表示する方法。しかし、それは機能しません...

私のコードは次のとおりです。

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 に答える