Android 使用名称中的变量(R.color.name+;variable)从values/colors.xml检索颜色
我在colors.xml中有一个颜色列表,所有颜色的名称格式都是tColor1、tColor2、tColor3等,我希望在for-to-do循环中使用循环整数作为名称的一部分来检索它们。所以我有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
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);
}