2013-03-03 54 views
-1

我想改变我的形象,如果我有这样的代码:我想改变我的形象的Android

ImageView img = new ImageView(this); 
img.setImageResource(R.drawable.my_image); 

该代码的工作,但我想保存R.drawable.my_image一个变量 比方说listofimage,是因为我必须改变图像文件的名称 比方说,我有“my_image”,“my_image1”,“my_image2”

我试图改变这样的

ImageView img = new ImageView(this); 
string listofimage=""; 

if(result1.equals("my_image")){ 
listofimage="R.drawable.my_image"; 
} else if (result1.equals("my_image1")) { 
listofimage="R.drawable.my_image1"; 
}else if (result1.equals("my_image2")) { 
listofimage="R.drawable.my_image2"; 
} 
img.setImageResource(listofimage); 
代码

但该代码无效。谁能帮我?

+1

请提供更多的信息。也许你可以尝试使用局部变量,在“listofimage”之前加入“int”? – gingo 2013-03-03 13:17:22

+0

你想保存什么图像路径?图像名称?您可以针对您的要求更具体一点吗? – araknoid 2013-03-03 13:31:08

回答

0

与您的代码,你可以这样做:

ImageView img = new ImageView(this); 

if(result1.equals("my_image")){ 
img.setImageResource(R.drawable.my_image); 
} else if (result1.equals("my_image1")) { 
img.setImageResource(R.drawable.my_image1); 

}else if (result1.equals("my_image2")) { 
img.setImageResource(R.drawable.my_image2); 

} 
+0

是的,现在我更改为该代码。谢谢Gyonder – 2013-03-03 14:05:57

+0

@mas_bejo如果答案是正确的 – Gyonder 2013-03-03 14:08:35

0

您的代码包含三个编译错误:

  1. String用小写的 “s”
  2. R.drawable.my_image类型为int
  3. setImageResource预计int作为它的参数

解决办法是更换在你的代码中使用“int”的“string”看起来像这样:

ImageView img = new ImageView(this); 
int listofimage=R.drawable.my_image; 
img.setImageResource(listofimage); 
+0

我尝试使用 Integer.parseInt(listofimage); 我没有看到日食中的错误,但是当我运行该应用程序时,它强制关闭 – 2013-03-03 13:49:21