在列表视图中为具有1个键的多个值的HashMap设置值

时间:2013-06-22 20:14:30

标签: java android hashmap

我创建了以下类型为HashMap<String, List<String>>的HashMap,并按如下方式为其添加值:

ListView lv = (ListView)findViewById(R.id.list);

HashMap<String, List<String>> hm = new HashMap<String, List<String>>();
List<String> values = new ArrayList<String>();
for (int i = 0; i < j; i++) {
    values.add(value1);
    values.add(value2);
    hm.put(key, values);
}

我想检索数据,将其解析为ListAdapter,然后解析为ListView。这是listview的xml:

<ListView
    android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>

和列表项的xml:

 <!-- for the key value -->
 <TextView
        android:id="@+id/id"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
         />


    <!-- For Value 1 -->
    <TextView
        android:id="@+id/value1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
         />

      <!-- For Value 2 -->
    <TextView
        android:id="@+id/name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
         />

如何从hashMap中检索数据,将其放入ListAdapter,然后将其设置为ListView?

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码

ListAdapter adapter = new SimpleAdapter(this, hm , R.layout.listplaceholder, new String[] { "value1",
                "value2" }, new int[] { R.id.value1, R.id.name});
list.setAdapter(adapter);

listplaceholder是我的xml。所以请改变它。

您也可以关注此tutorial