我无法在任何地方找到这个问题的答案,所以我发布了它。
假设我有多个资源字符串,例如:
<string name="hello">Hello World, MainScreen!</string>
<string name="app_name">My Title</string>
我在代码中引用它们是这样的:
R.values.hello
R.values.app_name
但我怎么能像这样访问它们呢?
String test = "hello";
String value = R.values.test;
我正在尝试做这样的事情,但规模要大得多。或者有更好的方法吗?
答案 0 :(得分:1)
在一项活动中,这将有效...
String value = getString(R.values.hello);
R.values.hello是一个整数,用作实际字符串本身的“查找”。所有资源都以这种方式处理。
答案 1 :(得分:1)
获取这些值的正确方法是
String name = CurrentClassName.this.getString(R.string.hello);
通过使用CurrentClassName.this,您将确保可以在函数和嵌套类中使用它。
答案 2 :(得分:1)
我认为此链接可能对您有所帮助http://steven.bitsetters.com/2007/11/27/accessing-android-resources-by-name-at-runtime/
int id = getResources().getIdentifier("hello", "values", getPackageName());