【发布时间】:2013-05-27 09:17:42
【问题描述】:
我在 Arraylist 中使用两个字符串的 String 和 Hashmap 的嵌套集合,并使用 baseadapter 将一些数据填充到 listview 中。我想从 HashMap 中获取两个字符串。
代码在这里:
1)
ArrayList<HashMap<String, HashMap<String, String>>> Menu = new ArrayList<HashMap<String, HashMap<String, String>>>();
2)
HashMap<String,HashMap<String,String>> mainMenu = new HashMap<String, HashMap<String,String>>();
3)
HashMap<String,String> subMenu = new HashMap<String,String>();
for (int k = 0; k < jsonsubmenu.length(); k++) {
// get all values from jsonsubmenu JSONArray..
String submenuname = jsonsubmenu.optString(k);
String price = jsonpeicemenu.optString(k);
subMenu.put(submenuname, price);
}
mainMenu.put(mainmenu, subMenu);
Menu.add(mainMenu);
4)
MenuAdapter menuAdapter = new MenuAdapter(
RestaurantDetails.this.getParent(), Menu);
list.setAdapter(menuAdapter);
上面的代码片段显示了集合的使用全流程的含义。我使用下面的语句从选定的位置选择数据,但这些语句不值得。请建议我如何在选定位置获取数据。
Stringn menu = Menu.get(position).get(TAG_MENUNAME);
String cost = Menu.get(position).get(TAG_PRICE);
【问题讨论】:
-
小注释:在 mainMenu.put(mainmenu,subMenu) - 什么是字符串主菜单,它应该不是 subMenu 的标签。
标签: java android listview collections hashmap