我正在将两个字符串的 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);
上面的代码 fragment 展示了集合使用的完整流程。我使用下面的语句从选定的位置选取数据,但这些语句不值得。请建议我如何在选定位置获取数据。
Stringn menu = Menu.get(position).get(TAG_MENUNAME);
String cost = Menu.get(position).get(TAG_PRICE);
最佳答案
我想你想要:
String cost = Menu.get(position).get(TAG_MENUNAME).get(TAG_SUBMENU);
关于java - 从 ArrayList<HashMap<String, HashMap<String, String>>> 获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16859187/