2012-01-25 6 views
3

文字列と描画可能オブジェクトの両方を同じHashMap内のオブジェクトとして渡すことができますか?このハッシュマップを使用してSimpleAdapter経由でListViewにデータを渡すことはできますか?HashMapのオブジェクト - ListViewアダプタに渡す

サムネイルへのURLも含まれているJSONデータを最初に取得するため、これが必要です。次に、このサムネイルをダウンロードします。関連するコード(と思う):

for (...) { 
    ... 
    InputStream is = (InputStream)content; 

    Drawable image = Drawable.createFromStream(is, "src"); 

    // Hashmap   
    HashMap<String, Object> map = new HashMap<String, Object>(); 

    map.put("title", new String(jsonObject.getString("Title"))); 
    map.put("thumb", image); 

    mylist.add(map); 
} 

ListAdapter adapter = new SimpleAdapter(getActivity(), mylist, R.layout.listitem, 
     new String[] { "title", "thumb"}, 
     new int[] { R.id.title, R.id.thumb }); 

setListAdapter(adapter); 

R.id.title =のTextView、およびR.id.thumb = ImageViewの

これは、タイトル文字列のためではなく、描画可能のために働きます。このアプローチは単なる愚かなのだろうか?

ありがとうございます。

答えて

1

あなたは、リスト内の行の表現と私の知る限りImageView sは唯一のリソース識別子との結合のためにサポートされ、the SimpleAdapter documentationから言うことができるようにあなたの行

+0

これは「SimpleAdapter」なので、独自のカスタムアダプタを実装する前に、 'ViewBinder'を提供しようとしています。 –

0

を膨らまカスタム・アダプターのためのXMLレイアウトファイルを作成する必要がありますまたはStringString、つまり、私が意味する)must represent an image resource or an image URIである。直接Drawableオブジェクトを渡すと機能しません。