2013-03-03 79 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