2010-07-07 79 views
5

在我的應用程序中....有一些圖像像temp1.jpg,temp2.​​jpg ..... upto temp35.jpg,在Android ImageView中加載圖片

等等按鈕點擊,我想負載一個接一個的圖像中的ImageView .... 我想要做的,如:

CNT = 1;
imagename =「temp」+ cnt +「.jpg」;
cnt ++;

所以我的混淆是「是否有加載圖像視圖從字符串(imagename變量)像temp1.jpg等」

回答

3

我下面的解決方案來實現,它的工作對我來說:

while(cnt!=n) 
{ 
String icon="temp" + cnt; 
int resID = 
getResources().getIdentifier(icon,"drawable","testing.Image_Demo"); 
imageView.setImageResource(resID); 
cnt++; 
} 
1

我不知道這是否是最佳解決方案,但是您可以製作將映像名稱映射到資源的散列表。

Hashtable map; 
map.put("temp1", R.drawable.temp1) // assuming temp1.jpg is in /drawable 

然後你可以從drawable加載ImageView。

String imageName = "temp" + n; 
Drawable d = getResources().getDrawable((int)map[imageName]); 
ImageView i = new ImageView(this); 
i.setImageResource(d); 
+0

這意味着你需要在每次添加新的圖像時編輯哈希表... – xil3 2010-07-07 09:23:16

+0

這就是爲什麼我寫它不是最好的解決方案。雖然,您可以使用Reflections讀取公共字段並自動加載hashmap。想想看,你可以使用Reflections來獲取id並忘記地圖。 – Itsik 2010-07-07 09:41:28

4

你可以試試這個:

int cnt = 1; 
//Bitmap bitmap = BitmapFactory.decodeFile("temp" + cnt + ".jpg"); 
int imageResource = getResources().getIdentifier("drawable/temp" + cnt + ".jpg", null, getPackageName()); 
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), imageResource); 
imageView.setImageBitmap(bitmap); 
cnt++; 

希望這就是你要找的人。

+0

對不起...它不工作... imageview僅與空白屏幕displyed ..不與圖像 – 2010-07-07 09:48:46

+0

你確定你提供正確的路徑圖像?在SD卡上的圖像? – xil3 2010-07-07 09:54:47

+0

你也可以發佈你的ImageView(XML或如果你以編程方式聲明)? – xil3 2010-07-07 09:56:06

2

爲何不像

File f = new File(PathToFiles + "/temp" + cnt + ".jpg"); 
if (f.exists()) { 
    Drawable d = Drawable.createFromPath(f); 
    imageview.setImageDrawable(d); 
} 
+0

thanx爲答案.... – 2010-07-07 10:18:37