我正在尝试创建一个显示学生列表的Android应用。
我创建了一个名为Classmates
的类来定义每个学生:
public class Classmates {
String name;
int classNum;
int drawableId;
public Classmates(String name, int classNum, int drawableId) {
this.name = name;
this.classNum = classNum;
this.drawableId = drawableId;
}
}
对于每个学生,我都有一张带有编号文件名的照片(
R.drawable.num1
,R.drawable.num2
,...)。但是,当我尝试初始化每个学生时:private void initializeData() {
classmates = new ArrayList<>();
for(int i = 1; i <= 38; i++)
{
// Exclude student 32
if(!(i==32)) classmates.add(new Classmates(classmateName[i],R.drawable.num(i)); // error
}
}
它不起作用,给我一个错误。如何遍历所有可绘制对象?
最佳答案
您是否尝试过getIdentifier()
?
private void initializeData() {
classmates = new ArrayList<>();
for (int i = 1; i <= 38; i++) {
//Exclude number 32
if (!(i == 32)) {
Context ctx = getContext();
int resId = ctx.getResources().getIdentifier(String.format("num%d", i), "drawable", ctx.getPackageName());
classmates.add(new Classmates(classmateName[i], resId);
}
}
}