1

テキストを SimpleAdapter に渡す動的リスト ビューを既に作成しましたが、drawable フォルダーから画像を表示するための情報を渡したいと考えています。各行の XML レイアウトは次のとおりです。

<ImageView 
    android:id="@+id/sport_icon"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    />    
<TextView  
    android:id="@+id/item_title"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:padding="2dp"
    android:textSize="20dp" />
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="right" >
<TextView  
    android:id="@+id/item_subtitle"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="2dp"
    android:textSize="13dp" />
</LinearLayout>
</LinearLayout>

リストを作成するコードのビット:

//fill in the list items from the XML document
    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, "fixture_id"));
        map.put("sport", XMLfunctions.getValue(e, "sport"));
        map.put("teams", XMLfunctions.getValue(e, "team_2") + " v " + XMLfunctions.getValue(e, "team_2"));
        mylist.add(map);            
    }       

    //Make a new listadapter
    ListAdapter adapter = new SimpleAdapter(this, mylist, R.layout.fixture, new String[] { "sport", "teams" }, new int[] { R.id.item_title, R.id.item_subtitle });

    setListAdapter(adapter);

文字列スポーツを渡すと、item_title テキスト ビューに「フットボール」などのテキストが表示されます。しかし、私はスポーツが何であるかを知っているので、sport_icon イメージビューにアイコンを表示できるようにしたいと考えています。スポーツ アイコンの場所の例は、@drawable/icon_football です。

どうもありがとう。


ここでの答えは、以下の Frank が提案した ListView を使用して BaseAdapter を作成することでした。他の誰かが同じことをしようとしているが、どこから始めればよいかわからない場合は、http://www.youtube.com/watch?v=pVs4qKmenQMを見ることを強くお勧めします。このビデオはよくまとめられており、知っておくべきことをすべて説明しています。

:)

4

1 に答える 1

0

BaseAdapter のようなものを拡張し、getView() で自分の位置を確認し、それに応じて使用する画像を設定する必要があります。SimpleAdapter は、すべての項目がまったく同じ形式で、非常に単純な場合にのみうまく機能します。

これは良い例です。 http://thinkandroid.wordpress.com/2010/01/13/custom-baseadapters/

しかし、Romain と Adam の Google IO ビデオ http://www.youtube.com/watch?v=wDBM6wVEO70を見ることを強くお勧めします。

于 2012-06-11T18:13:00.260 に答える