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嗯,当我在其中添加数据时,它进入了。。。?组织我的数据以实现此列表视图的最佳方式是什么?我不理解你的上一条评论。张贴您用于设置此数据的代码。您能再解释一下吗,或者添加一些示例代码?