本文介绍了访问资源名称编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的资源文件中的许多字符串数组,我想以编程方式访问它们依赖于用户输入。

I have many string arrays in my resource files, and I want to access them programmatically depending on user input.

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

所以,如果c == 12,信息应该是字符串数组名称为n_12。有没有办法做到这一点,并避免做一个switch语句有几百个案例?

So if c==12, info should be the string-array with name "n_12".Is there a way to do this, and avoiding to do a switch statement with hundreds of cases?

感谢

推荐答案

您可以得到的资源ID像这样

You can get the resource id like so

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

然后,只需使用该ID

Then just use that id

String[] info = getResources().getStringArray(id);

看一看这里另一个例子是关于 getResources()。则getIdentifier ()

Have a look here for another example on getResources().getIdentifier().

这篇关于访问资源名称编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-02 23:33