Java 将HashMap放入具有节标题的ListVIew中

Java 将HashMap放入具有节标题的ListVIew中,java,android,listview,hashmap,Java,Android,Listview,Hashmap,我有此数据的哈希图: {Chefs Choice=Vegetable Samosa with Yogurt Sauce}, {Chefs Choice=Tomato Red Pepper Chutney}, {Cold Cereal=Miscellaneous/Peripherals}, {Dessert=Cheesecake Slice}, {Dessert=Banana Cream Pie with Caramel Topping} 现在我想把这些数据放到一个列表视图中,看起来像这样

我有此数据的哈希图:

{Chefs Choice=Vegetable Samosa with Yogurt Sauce},
{Chefs Choice=Tomato Red Pepper Chutney}, 
{Cold Cereal=Miscellaneous/Peripherals}, {Dessert=Cheesecake Slice}, 
{Dessert=Banana Cream Pie with Caramel Topping}
现在我想把这些数据放到一个列表视图中,看起来像这样

因此,键s都是节头,然后每个键的值都进入该节头。我正在考虑使用基本适配器,但不太确定如何正确使用它。或者是否有更好的方法来组织我的数据。我对此也持开放态度

提前感谢您的帮助:

以下是我添加数据的方式:

ArrayList<HashMap<String, String>> blogPosts = new ArrayList<HashMap<String, String>>();
while (eventType != XmlResourceParser.END_DOCUMENT) {
            String tagName = xmlData.getName();
            HashMap<String, String> blogPost = new HashMap<String, String>();

            switch (eventType) {
                case XmlResourceParser.START_TAG:
                    if (tagName.equalsIgnoreCase("day")) {
                        currentDay = xmlData.getAttributeValue(null, "name");
                    }
                    if (tagName.equalsIgnoreCase("meal")) {
                        currentMeal = xmlData.getAttributeValue(null, "name");
                    }
                    if (tagName.equalsIgnoreCase("counter") && currentDay.equalsIgnoreCase(day) && currentMeal.equalsIgnoreCase(meal)) {
                        mealArray.add(xmlData.getAttributeValue(null, "name"));
                        counter = xmlData.getAttributeValue(null, "name");
                    }

                    break;
                case XmlResourceParser.TEXT:
                    if (currentDay.equalsIgnoreCase(day) && currentMeal.equalsIgnoreCase(meal)) {
                        if (xmlData.getText().trim().length() > 0) {
                            Log.i(TAG, blogPost + "");
                            blogPost.put(counter, xmlData.getText());
                            blogPosts.add(blogPost);
                        }

                    }
                    break;

                case XmlPullParser.END_TAG:
                    recordsFound++;
                    break;
            }
            eventType = xmlData.next();
        }

您可以将主标题标记存储为arraylist。 数据结构如下所示:

hashmap的主标记将来自arraylist,其值将再次成为hashmap的列表

比如标签“厨师选择”:蔬菜沙拉和番茄红

//列表包含您的顶部标题。。。。。 List arr=新阵列列表; //列表以存储完整的数据结构。 列表=新的ArrayList; //设置数据结构 HashMap hash=新的HashMap; List hash1=新数组列表; HashMap hash2=新的HashMap; 2.蔬菜; hash1.addhash2; //正在从标记列表中获取标记。。。。。。 hash.putlist.geti.toString,hash1;
list.addhash;你可以使用任何适配器,只需要在getView中管理东西。我不理解你的数据结构。HashMap对于同一个键不能有多个条目。或者它是一个地图列表?@njzk2嗯,当我在其中添加数据时,它进入了。。。?组织我的数据以实现此列表视图的最佳方式是什么?我不理解你的上一条评论。张贴您用于设置此数据的代码。您能再解释一下吗,或者添加一些示例代码?