Загрузка изображений в ImageView в Android - PullRequest
5 голосов
/ 07 июля 2010

В моем приложении .... есть некоторые изображения, такие как temp1.jpg, temp2.jpg ..... upto temp35.jpg,

поэтому при нажатии кнопки я хочу загрузить одно за другим изображение в ImageView .... я хочу сделать как:

CNT = 1;
imagename = "temp" + cnt + ".jpg";
cnt ++;

, поэтому я запутался в том, что «есть ли возможность загрузить изображение в виде изображения из строки (переменная imagename), например temp1.jpg и т.

Ответы [ 4 ]

4 голосов
/ 07 июля 2010

Вы можете попробовать это:

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++;

Надеюсь, это то, что вы искали.

3 голосов
/ 07 июля 2010

Я реализовал решение ниже, и оно работает для меня:

while(cnt!=n)
{
 String icon="temp" + cnt;
 int resID =
 getResources().getIdentifier(icon,"drawable","testing.Image_Demo");
 imageView.setImageResource(resID);
 cnt++; 
}
3 голосов
/ 07 июля 2010

Почему не что-то вроде

File f = new File(PathToFiles + "/temp" + cnt + ".jpg");
if (f.exists()) {
  Drawable d = Drawable.createFromPath(f);
  imageview.setImageDrawable(d);
}
1 голос
/ 07 июля 2010

Я не знаю, является ли это лучшим решением, но вы можете создать Hashtable, который отображает имена изображений на ресурсы.

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

и затем вы можете загрузить ImageView из отрисовки.

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