0

2 つの文字列の 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);
4

1 に答える 1

2

私はあなたが欲しいと思います:

String cost = Menu.get(position).get(TAG_MENUNAME).get(TAG_SUBMENU);
于 2013-05-31T14:10:14.163 に答える