0

我正在尝试使用字符串变量从 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";

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

4

2 回答 2

3

您可以使用以下方法按名称获取数组的 id getIdentifier()

String test = "a_test";
Resources res = getResources();
int resId = res.getIdentifier(test + "_arrays", "array", "my.package.name");
String[] test_array = res.getStringArray(resId);

请注意,您可以将其用于任何类型的资源,无论是可绘制的、字符串等。只要确保将第二个参数从“array”更改为适当的类型即可。

于 2013-10-03T16:39:31.143 回答
0

这应该可以完成工作:

String[] test_array = getResources().getStringArray(R.array.a_test);

希望这可以帮助

于 2013-10-03T16:28:20.453 回答