我想在项目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代码中访问它?
答案 0 :(得分:2)
右键单击res文件夹并创建自己的xml文件 在/ xml文件夹下创建一个新文件。
将您的xml读入ArrayList 通过查找XML标记,使用XMLParser:
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;
}