java - 以编程方式访问资源名称

原文 标签 java android

我的资源文件中有很多字符串数组,我想根据用户输入以编程方式访问它们。

int c = Getter.getCurrentNumber();
String[] info = getResources().getStringArray(R.array.n_<c>);

因此,如果 c==12,则 info 应该是名称为“n_12”的字符串数组。
有没有办法做到这一点,并避免在数百个案例中执行 switch 语句?

谢谢

最佳答案

您可以像这样获取资源 ID

int c = Getter.getCurrentNumber();
String resource = "n_" + c;
int id = getResources().getIdentifier(resource, "array", "com.your.project");

然后只需使用该 ID
String[] info = getResources().getStringArray(id);

看看 here另一个例子是 getResources().getIdentifier() .

关于java - 以编程方式访问资源名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6999866/

相关文章:

java - BitSet 向后显示值?

java - 在JUnit4中断言两个列表相等

java - 在 Java 中调用 void 方法

android - 使用android相机捕获图像后的空指针

java - 访问其他 java 类的 fragment

java - 服务一结束,通知就会消失

java - 为什么 SpringSecurity 在注销后继续提供相同的经过身份验证的 Principal

java - 如何使用绝对路径中的变量在Java中保存文件?

android - 检测已安装的语言以进行离线识别

Android:强制键盘出现并专注于 EditText