В моем приложении.... существуют некоторые изображения как temp1.jpg, temp2.jpg..... до temp35.jpg,
таким образом при нажатии кнопки, я хочу загрузить один за другим изображение в ImageView.... я хочу сделать как:
cnt=1;
imagename = "работают временно" + cnt + ".jpg";
cnt ++;
таким образом, мой беспорядок состоит в том, что "должен там так или иначе загрузить изображение в imageview от строки (imagename переменная) как temp1.jpg, и т.д.".
Я реализовал решение ниже, и оно у меня работает:
while(cnt!=n)
{
String icon="temp" + cnt;
int resID =
getResources().getIdentifier(icon,"drawable","testing.Image_Demo");
imageView.setImageResource(resID);
cnt++;
}
Вы можете попробовать следующее:
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++;
Надеюсь, это то, что вы искали.
Я не знаю, лучшее ли это решение, но вы можете сделать Hashtable, которая сопоставляет имена изображений с ресурсами.
Hashtable map;
map.put("temp1", R.drawable.temp1) // assuming temp1.jpg is in /drawable
и затем вы можете загрузить ImageView из drawable.
String imageName = "temp" + n;
Drawable d = getResources().getDrawable((int)map[imageName]);
ImageView i = new ImageView(this);
i.setImageResource(d);
Почему бы не сделать что-то вроде
File f = new File(PathToFiles + "/temp" + cnt + ".jpg");
if (f.exists()) {
Drawable d = Drawable.createFromPath(f);
imageview.setImageDrawable(d);
}