Java Android:使用循环将图像ID';s
类似的问题,但我想我在寻找一个不同的答案 如链接帖子中所述,这:Java Android:使用循环将图像ID';s,java,android,loops,Java,Android,Loops,类似的问题,但我想我在寻找一个不同的答案 如链接帖子中所述,这: int p = R.drawable.photo; image.setImageResource(p); 显示photo1,但类似以下内容: String a = "R.drawable."; String b = "photo"; String c = a+b; int p = Integer.parseInt(c); image.setImageResource(p); 不会。我有很多图像,一个包含所有图像名称的数组,所以
int p = R.drawable.photo;
image.setImageResource(p);
显示photo1,但类似以下内容:
String a = "R.drawable.";
String b = "photo";
String c = a+b;
int p = Integer.parseInt(c);
image.setImageResource(p);
不会。我有很多图像,一个包含所有图像名称的数组,所以我想填充一个数组,如下所示:
int imageArray[] = new int[number_of_images];
for (int i = 0; i < numImages; i++)
imageArray[i] = ("R.drawable." + image_names[i]);
int-imageArray[]=新的int[图像的数量];
对于(int i=0;i
但我得到一个运行时错误。有什么方法可以让这个循环工作吗?或者更好的方法将图像ID提示到数组中
谢谢 您可以使用此方法,它将根据字符串重新运行源id。第二个和第三个参数是可选的,但是如果你能把它们放进去,我会的
public int getIdentifier (String name, String defType, String defPackage)
例如:
int p = getIdentifier("photo","drawable")
或者,如果您一直在获取ID,您可以创建一个函数,如:
public int getDrawableId(Context context, String name){
return context.getResources().getIdentifier(name,"drawable", context.getPackageName());
}
您只需检查它是否返回0,因为这意味着它没有找到它
编辑
对于上面的示例,只需实现上面的函数并将其更改为:
int imageArray[] = new int[number_of_images];
for (int i = 0; i < numImages; i++)
imageArray[i] = getDrawableId(getApplicationContext(),"R.drawable." + image_names[i]);
int-imageArray[]=新的int[图像的数量];
对于(int i=0;i
您可以使用此方法,它将根据字符串重新运行源id。第二个和第三个参数是可选的,但是如果你能把它们放进去,我会的
public int getIdentifier (String name, String defType, String defPackage)
例如:
int p = getIdentifier("photo","drawable")
或者,如果您一直在获取ID,您可以创建一个函数,如:
public int getDrawableId(Context context, String name){
return context.getResources().getIdentifier(name,"drawable", context.getPackageName());
}
您只需检查它是否返回0,因为这意味着它没有找到它
编辑
对于上面的示例,只需实现上面的函数并将其更改为:
int imageArray[] = new int[number_of_images];
for (int i = 0; i < numImages; i++)
imageArray[i] = getDrawableId(getApplicationContext(),"R.drawable." + image_names[i]);
int-imageArray[]=新的int[图像的数量];
对于(int i=0;i
首先尝试打印p。它是否与R.drawable.photo_id相同?您的问题是否与此类似:?能否发布错误?请先尝试打印p。它是否与R.drawable.photo_id相同?您的问题是否与此类似:?是否可以发布错误?