从ArrayList获取元素<hashmap <string,hashmap <string,=“”string =“”>&gt;&gt; </hashmap <string,>

时间:2013-05-31 14:03:25

标签: java android listview collections hashmap

我使用两个字符串的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);

1 个答案:

答案 0 :(得分:2)

我想你想要:

String cost = Menu.get(position).get(TAG_MENUNAME).get(TAG_SUBMENU);