在我的應用程序中....有一些圖像像temp1.jpg,temp2.jpg ..... upto temp35.jpg,在Android ImageView中加載圖片
等等按鈕點擊,我想負載一個接一個的圖像中的ImageView .... 我想要做的,如:
CNT = 1;
imagename =「temp」+ cnt +「.jpg」;
cnt ++;
所以我的混淆是「是否有加載圖像視圖從字符串(imagename變量)像temp1.jpg等」
在我的應用程序中....有一些圖像像temp1.jpg,temp2.jpg ..... upto temp35.jpg,在Android ImageView中加載圖片
等等按鈕點擊,我想負載一個接一個的圖像中的ImageView .... 我想要做的,如:
CNT = 1;
imagename =「temp」+ cnt +「.jpg」;
cnt ++;
所以我的混淆是「是否有加載圖像視圖從字符串(imagename變量)像temp1.jpg等」
我下面的解決方案來實現,它的工作對我來說:
while(cnt!=n)
{
String icon="temp" + cnt;
int resID =
getResources().getIdentifier(icon,"drawable","testing.Image_Demo");
imageView.setImageResource(resID);
cnt++;
}
我不知道這是否是最佳解決方案,但是您可以製作將映像名稱映射到資源的散列表。
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);
你可以試試這個:
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++;
希望這就是你要找的人。
爲何不像
File f = new File(PathToFiles + "/temp" + cnt + ".jpg");
if (f.exists()) {
Drawable d = Drawable.createFromPath(f);
imageview.setImageDrawable(d);
}
thanx爲答案.... – 2010-07-07 10:18:37
這意味着你需要在每次添加新的圖像時編輯哈希表... – xil3 2010-07-07 09:23:16
這就是爲什麼我寫它不是最好的解決方案。雖然,您可以使用Reflections讀取公共字段並自動加載hashmap。想想看,你可以使用Reflections來獲取id並忘記地圖。 – Itsik 2010-07-07 09:41:28