在我的应用程序中......有一些图像,如 temp1.jpg、temp2.jpg .....upto temp35.jpg、
所以点击按钮,我想在 ImageView 中加载一张一张的图像....我想做这样的事情:
cnt=1;
imagename="temp" + cnt + ".jpg";
cnt++;
所以我的困惑是“无论如何要从字符串(图像名称变量)像 temp1.jpg 等加载图像视图中的图像”。
在我的应用程序中......有一些图像,如 temp1.jpg、temp2.jpg .....upto temp35.jpg、
所以点击按钮,我想在 ImageView 中加载一张一张的图像....我想做这样的事情:
cnt=1;
imagename="temp" + cnt + ".jpg";
cnt++;
所以我的困惑是“无论如何要从字符串(图像名称变量)像 temp1.jpg 等加载图像视图中的图像”。
你可以试试这个:
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);
}
我实施了以下解决方案,它对我有用:
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);
这个对我有用:
Bitmap myBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.my_image)
.copy(Bitmap.Config.ARGB_8888, true);
Canvas c = new Canvas(myBitmap);
// etc. .......