使用字符串访问数组

时间:2013-10-03 16:25:26

标签: android arrays string

我试图通过使用字符串变量从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";

我一直在尝试使用资源标识符,但我完全被难倒了。

2 个答案:

答案 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);

希望这有帮助