使用SimpleXML
Android 的 lib 可以从这些中创建一个 HashMap:
<items>
<item>
<id>1</id>
<name>chicken</name>
<amount>13</amount>
</item>
<item>
<id>2</id>
<name>potatoes</name>
<amount>3</amount>
</item>
</items>
我想创建一个包含 id 和 Item 的 HashMap,如下所示:
HashMap<Integer, Item>
其中 ID 将是项目的 ID(值本身)。这可能吗?
我尝试创建包含 id、名称和数量的 Item 类:
class Item {
@Element(name=id)
public int id;
@Element(name="name")
public String name;
@Element(name="amount")
public int amount;
}
然后像这样创建包装器
class Items {
@ElementMap(@field="item", keyType=Integer.class, valueType=Item.class)
private Map<Integer, Item> mItems = new HashMap<Integer, Item>();
// .. getters / setters
}
但是找不到对应的字段...
当我使用 List 而不是 HashMap - 它按预期工作。我只需要 HashMap 作为 Items 包装类中列表字段的补充。
有什么帮助吗?