0

SimpleXMLAndroid 用のライブラリを使用すると、これらから 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 とアイテムを含む 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

}

しかし、対応するフィールドが見つかりません...

HashMap の代わりに List を使用すると、期待どおりに動作します。Items ラッパー クラスのリスト フィールドへの追加として HashMap が必要なだけです。

何か助けはありますか?

4

1 に答える 1

0

これは多分それであなたを助けるかもしれない何かです:

Simple XML を使用して Map<String, String> をシリアル化する方法は?
および
http://old.nabble.com/Serializing-collections-with-both-SimpleXML-annotated-and-not-annotated-types-td19679788.html

整数、文字列ハッシュマップを明示的に指しているわけではありませんが、アイデアは示されます。

于 2013-05-14T07:03:30.360 に答える