我的colors.xml中有一个颜色列表,它们都有tColor1,tColor2,tColor3等格式的名称,我想在一个for-to-do循环中使用循环整数作为一部分来检索它们。名字。所以我有
for (int i = 0; i < numTrails; i++) {
newColors[i] = R.color.tColor + i;
}
现在我明白我不能像那样使用R类,但是我可以使用其他什么方法来获取颜色?
答案 0 :(得分:6)
你可以做这样的事情,假设你的newColors
数组是一个带有资源ID的int
数组?
String colorId = "tColor";
Resources resources = getResources();
for (int i = 0; i < numTrails; i++) {
newColors[i] = resources.getIdentifier(colorId+i, "color", getPackageName());
}
如果是您的颜色数组,请在该结果上使用getResources().getColor(...)
:
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);
}
答案 1 :(得分:0)
可以尝试
在页面末尾参考Typed Array .....
http://developer.android.com/guide/topics/resources/more-resources.html#TypedArray