Java 在getString()中使用变量

Java 在getString()中使用变量,java,android,getstring,Java,Android,Getstring,我使用一个随机数从资源xml中提取一个字符串,所有的xml都有一个相似的开头(它们被命名为“quote”,后面有一个数字,所以quote1,quote2,等等 我试图找到一种使用getResources().getString()访问它们的方法,但我不知道如何传递它,因为getString需要一个int,我无法执行类似的操作 String quoteToGet="R.string.quote"+String.valueOf(randNum) //randNum is the random in

我使用一个随机数从资源xml中提取一个字符串,所有的xml都有一个相似的开头(它们被命名为“quote”,后面有一个数字,所以quote1,quote2,等等

我试图找到一种使用
getResources().getString()
访问它们的方法,但我不知道如何传递它,因为
getString
需要一个
int
,我无法执行类似的操作

String quoteToGet="R.string.quote"+String.valueOf(randNum) 
//randNum is the random int generated
因为
quoteToGet
是一个字符串,
getString(quoteToGet)
不起作用


我还可以做些什么来实现这一点?

使用此方法,您应该按资源的名称获取资源

private String getResStringId(String aString) {
      String packageName = getPackageName();
      int resId = getResources().getIdentifier(aString, "string", packageName);
      return getString(resId);
    }
使用类似于以下内容:

String quoteToGet= getResStringId("quote"+String.valueOf(randNum));

quote1,quote2有相似的数据吗?如果是这样,最好使用字符串数组资源,在strings.xml中。然后检索数据会很容易。还有一个从name获取res id…使用谷歌…是的,4k3R的提示是更好的解决方案。你最好使用字符串数组资源我只是喜欢声誉的农民…它只是一个副本,哦,我是很抱歉,我至少一年前在一个应用程序中使用了此方法,是的,可能是我在该问题的stackoverflow上发现了此方法。我不会试图通过从其他答案进行残酷的复制/粘贴来提高我的声誉。您需要将您的答案的属性添加到原始答案中。