recorre - map and hashmap in java
Los valores de HashMap no se anexan a ListView (1)
SimpleAdapters Consturctor indica que es el segundo parámetro:
datos: una lista de mapas. Cada entrada en la Lista corresponde a una fila en la lista. Los Mapas contienen los datos de cada fila, y deben incluir todas las entradas especificadas en "de"
pero HashMap<String, List<String>>
hm es un mapa de listas. Entonces, como List<Map<String,String>> hm
sería el tipo de datos que probablemente necesites.
Aquí está la fuente editada:
ListView lv = (ListView)findViewById(R.id.list);
List<Map<String,String>> mapList = new ArrayList<Map<String, String>>();
Map<String,String> mapPerRow;
for (int i = 0; i < rowNumbers; i++) {
mapPerRow = new HashMap<String, String>();
mapPerRow.put("column1", value1);
mapPerRow.put("column2", value2);
mapList.add(mapPerRow);
}
ListAdapter adapter = new SimpleAdapter(
MainActivitty.this, mapList,
R.layout.list_item, new String[] { "column1", "colum2"},
new int[] { R.id.value1,R.id.value2 });
// updating listview
lv.setAdapter(adapter);
No entiendo por qué quieres la clave (solo agregas cadenas al mapa si necesitas más).
Estoy tratando de recuperar datos de un hashmap con múltiples valores para 1 clave y configurarlo en una vista de lista, pero en lugar de establecer los valores en la vista de lista y mostrar la vista de lista, todo lo que se muestra es la matriz (sin la clave). El código es el siguiente:
ListView lv = (ListView)findViewById(R.id.list);
//hashmap of type `HashMap<String, List<String>>`
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);
}
y para recuperar los valores y ponerlos en una lista
ListAdapter adapter = new SimpleAdapter(
MainActivitty.this, Arrays.asList(hm),
R.layout.list_item, new String[] { key,
value1,value2},
new int[] { R.id.id, R.id.value1,R.id.value2 });
// updating listview
lv.setAdapter(adapter);
un ejemplo es donde la clave = 1, value2 = 2 y value3 = 3, mostrará una matriz que se parece a [2,3]. ¿Cómo puedo mostrar el lisview y agregar la clave también?