用于从Android资源文件中检索属性值的代码

时间:2016-02-11 17:02:05

标签: android

我有一个价值资源文件(即在Android Studio中的值下)。以下是代码:

<resources>
    <string-array name="countrycaptital">
        <item name="NewDelhi">India</item>
        <item name="Japan">Tokiyo</item>
        <item name="US">Washington</item>
<resources>

请指导我从此XML数据文件(在Android中)检索我的代码中的国家/地区及其资金。

1 个答案:

答案 0 :(得分:0)

你可以这样做:

String[] CountryCaptital = context.getResources().getStringArray(R.array.countrycaptital);   

然后像访问任何java数组一样访问它。 (注意你的命名中“国家资本”的拼写错误......)

编辑:

抱歉 - 我没有意识到你试图引用item的属性。这是不可能的。来自文档:

  

<item>

     

一个字符串,可以包含样式标记。值可以是a   引用另一个字符串资源。必须是a的孩子    元件。要小心你必须逃避撇号和   引号。有关信息,请参阅下面的格式和样式   即将正确设置样式和格式化字符串。

     

没有属性。

http://developer.android.com/guide/topics/resources/string-resource.html

例如,您可以创建两个长度相同的单独字符串数组,并在创建HashMap时使用一个作为另一个的键。

编辑:

这样的两个数组:

<resources>
    <string-array name="capital">
        <item >New Delhi</item>
        <item >Tokyo</item>
        <item >Washington</item>
<resources>

<resources>
    <string-array name="country">
        <item >India</item>
        <item >Japan</item>
        <item >US</item>
<resources>

String[] country = context.getResources().getStringArray(R.array.country);   
String[] capital = context.getResources().getStringArray(R.array.capital);   

然后创建一个HashMap并使用for循环填充它。