java - 从 ArrayList<HashMap<String, HashMap<String, String>>> 获取元素

标签 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);

上面的代码 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/

相关文章:

java - driver.getcurrenturl() 没有获取正确的url

android - 检查 Google Play 服务以接收 Firebase 推送通知的最佳实践

winapi - 请求刷新 LVN_GETEMPTYMARKUP

Java - 命令提示符中的 appletviewer

java - 无法将 View.getTag 转换为 ArrayList<String>

java - Android 上的动态品牌

c# - winforms中ListView的子项不显示

java - 设置自定义 ListView 图像时出错

java - 无符号类型的 BridJ 类型映射

android - 在 http 请求中将用户名和密码作为参数发送