自定义资源名称Android

时间:2011-04-16 23:36:49

标签: android resources

我无法在任何地方找到这个问题的答案,所以我发布了它。

假设我有多个资源字符串,例如:

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

我正在尝试做这样的事情,但规模要大得多。或者有更好的方法吗?

3 个答案:

答案 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());