我试图通过使用字符串变量从strings.xml中定义的字符串数组中获取值。
例如,我在strings.xml中有两个字符串数组,名为“a_test_arrays”和“b_test_arrays”
在我的代码中,我基于随机选择,字符串可以保存为“a_test”或“b_test”
String test;
//Randomly determine value of test. test = "a_test" or test = "b_test"
String[] test_array;
//get the selected array and store it's contents in test_array
//test_array = test + "_arrays";
我一直在尝试使用资源标识符,但我完全被难倒了。
答案 0 :(得分:3)
您可以使用getIdentifier()
按名称获取数组的ID:
String test = "a_test";
Resources res = getResources();
int resId = res.getIdentifier(test + "_arrays", "array", "my.package.name");
String[] test_array = res.getStringArray(resId);
请注意,您可以将此用于任何类型的资源,无论是可绘制的,字符串等。只需确保将第二个参数从“数组”更改为相应的类型。
答案 1 :(得分:0)
这应该完成工作:
String[] test_array = getResources().getStringArray(R.array.a_test);
希望这有帮助