1

プロジェクトの res フォルダーで次のようなものを定義したいと思います。

<custommap name="MyMap">
    <entry key="@string/key1" value="1">K1</entry >
    <entry key="@string/key2" value="2">K2</entry >
    <entry key="@string/key3" value="3">K3</entry >
    <entry key="@string/key4" value="4">K4</entry >
</custommap>

それはどういうわけか可能ですか?上記の例はコンパイルを通過しません (arrays.xml に挿入しようとしました)。可能であれば、Javaコードからどのようにアクセスできますか?

4

1 に答える 1

2
  1. res フォルダーを右クリックし、/xml フォルダーの下に新しいファイルを作成して、独自の xml ファイルを作成します。

  2. XML タグを探して、次のように XMLParser を使用して xml を ArrayList に読み込みます。

    public ArrayList<textElement> PrepareListFromXml(String cat)
    {
        textElement te;
    
        ArrayList<textElement> listItems = new ArrayList<textElement>();
        XmlResourceParser listXml = getResources().getXml(R.xml.<your resource name>);
    
        int eventType = -1;
        while (eventType != XmlResourceParser.END_DOCUMENT)
        {
            if (eventType == XmlResourceParser.START_TAG)
            {                
                String strNode = listXml.getName();
                if (strNode.equals("entry"))
                {
                    te.setText(listXml.getAttributeValue(null, "key"));
                    listItems.add(te);
                }
            }
    
            try
            {
                 eventType = listXml.next();
            }
            catch (XmlPullParserException e)
            {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
            }
            catch (IOException e)
            {
                   // TODO Auto-generated catch block
                    e.printStackTrace();
            }
        }
    
        return listItems;
    }
    
于 2012-04-18T14:47:57.833 に答える