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 回答