Android根据运行时值获取资源字符串

时间:2016-04-03 18:17:46

标签: java android android-resources

有没有办法根据运行时值从我的“strings.xml”获取特定资源?

为了解释更多,我有一个价值清单,即每个地点的出租车费用 - 即班加罗尔,金奈等不同。

我的Strings.xml看起来像这样:

<string-array name="Bengaluru">
    <item>Min Fare | 100</item>
    <item>Per KM Fare |10</item>
    </string-array>

在我的MainActivity中,我使用的代码如下:

String currentCity = <Getting the city via phone location method>
if(currentCity.equals("Bengaluru")) {

    // My method to extract values from the string
    myCustomParser(getResources().getStringArray(R.array.Bengaluru));
}

(如果使用Switch-Case,我可能会更换,但是没有办法重写上面的内容:

  // My method to extract values from the string
    myCustomParser(getResources().getStringArray(R.array.currentCity));

即。动态替换我想从资源文件中提取的值?

由于

1 个答案:

答案 0 :(得分:1)

是的,您可以使用Resources.getIdentifier(String name, String defType, String defPackage)。 用法示例:

myCustomParser(getResources().getStringArray(
    getResources().getIdentifier("Bengaluru", "array", getPackageName()));