当前位置: 首页 > 面试题库 >

以编程方式访问资源名称

孟昆
2023-03-14
问题内容

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

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

在这里看看有关的另一个示例getResources().getIdentifier()



 类似资料:
  • 我已经使用bootstrap.yml文件定义了一个应用程序名称。 如何在运行时/以编程方式获取此应用程序名称?

  • 问题内容: 我正在建立一个在线订购系统,但我在澳大利亚,对于国际客户,我想以美元或欧元显示价格,这样他们就不必花心思从澳元转换。 有谁知道我是否可以通过PHP脚本访问的易于解析的格式从网上提取最新汇率? 问题答案: 您可以从yahoo以简单的格式获取货币换算: 例如,将GBP转换为EUR:

  • 如何从android SDK以编程方式访问KNOX计数器? 我想让我的应用程序检查值,以尝试并确定它是否运行在已扎根的三星手机上。

  • 我在尝试完全以编程方式进行此布局时遇到了问题,每次进程运行结束时都没有成功,应用程序崩溃。 XML im试图以编程方式创建的部分是: 我试图用以下kotlin代码重新创建它: 这就是我在logcat中遇到的错误 我仍在研究它可能是什么,我怀疑它可能是错误的LayoutParams,但如何以编程方式正确设置这些资源还不是很清楚。 提前谢谢。 PD:如果我发现了什么,我会更新。 欢迎任何帮助! 更新1

  • 问题内容: 我正在与其他一些人一起为Android开发一个应用程序,我们的设计师将主要内容指定为某种文件格式的文本文件,然后我们对其进行解析,处理和提供服务。我们目前将它们存储在中。 这对设计人员来说意义非凡,因为当他们想要添加内容时,他们只需向中添加文件即可。但是,这对于开发人员来说很烦人,因为我们开发人员需要在代码中添加一个数组,以指定在启动时要处理的文件。 有没有办法以编程方式访问资源ID