有没有办法根据运行时值从我的“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));
即。动态替换我想从资源文件中提取的值?
由于
答案 0 :(得分:1)
是的,您可以使用Resources.getIdentifier(String name, String defType, String defPackage)
。
用法示例:
myCustomParser(getResources().getStringArray(
getResources().getIdentifier("Bengaluru", "array", getPackageName()));