我使用两个字符串的String和Hashmap的嵌套集合到Arraylist中,并使用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);
答案 0 :(得分:2)
我想你想要:
String cost = Menu.get(position).get(TAG_MENUNAME).get(TAG_SUBMENU);