gpt4 book ai didi

java - 将 HashMap 放入带有节标题的 ListVIew 中

转载 作者:太空宇宙 更新时间:2023-11-04 14:18:02 24 4
gpt4 key购买 nike

我有一个此数据的 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}

现在我想将这些数据放入一个如下所示的 ListView 中。

enter image description here

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

感谢您提前提供的帮助:)

这是我添加数据的方法:

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();
}

最佳答案

您可以将主 header 标记存储为数组列表。数据结构将是这样的:

hashmap的主标签将来自arraylist,其值将再次是hashmap的列表...

点赞标签“厨师选择”:蔬菜萨莫萨和番茄红

// list contain your top header.....
List<String> arr=new ArrayList<String>();
//list to store complete data structure.
List<HashMap<String, List<HashMap<String, String>>>> list =new ArrayList<HashMap<String,List<HashMap<String,String>>>>();


// setting the data structure
HashMap<String, List<HashMap<String, String>>> hash=new HashMap<String, List<HashMap<String,String>>>();
List<HashMap<String, String>> hash1=new ArrayList<HashMap<String,String>>();
HashMap<String, String> hash2=new HashMap<String, String>();
hash2.put("tag", "vegetable");
hash1.add(hash2);
// getting tag from tag list......
hash.put(list.get(i).toString(), hash1);
list.add(hash);

关于java - 将 HashMap<String,String> 放入带有节标题的 ListVIew 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27490255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com