Android 使用名称中的变量(R.color.name+;variable)从values/colors.xml检索颜色

Android 使用名称中的变量(R.color.name+;variable)从values/colors.xml检索颜色,android,colors,android-resources,Android,Colors,Android Resources,我在colors.xml中有一个颜色列表,所有颜色的名称格式都是tColor1、tColor2、tColor3等,我希望在for-to-do循环中使用循环整数作为名称的一部分来检索它们。所以我有 for (int i = 0; i < numTrails; i++) { newColors[i] = R.color.tColor + i; } for(int i=0;i

我在colors.xml中有一个颜色列表,所有颜色的名称格式都是tColor1、tColor2、tColor3等,我希望在for-to-do循环中使用循环整数作为名称的一部分来检索它们。所以我有

for (int i = 0; i < numTrails; i++) {
    newColors[i] = R.color.tColor + i;
}
for(int i=0;i

现在我明白了我不能像那样使用R类,但是我还可以使用什么方法来获取颜色呢?

假设您的
newColors
数组是一个带有资源ID的
int
数组,您可以这样做

String colorId = "tColor";
Resources resources = getResources();
for (int i = 0; i < numTrails; i++) {
    newColors[i] = resources.getIdentifier(colorId+i, "color", getPackageName());    
}
可以试试

请参阅页面最后的键入数组

Perfect:)感谢您快速、翔实、准确的回答。
String colorId = "tColor";
Resources resources = getResources();
for (int i = 0; i < numTrails; i++) {
    int resId = resources.getIdentifier(colorId+i, "color", getPackageName());
    newColors[i] = resources.getColor(resId);
}