2010-07-07 2 views
5

В моем приложении .... есть некоторые изображения, как temp1.jpg, temp2.jpg ..... Шифрование до temp35.jpg,Загрузка изображений в ImageView в Android

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

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

так что моя путаница в том, что «есть в любом случае, чтобы загрузить изображение в ImageView из строки (переменная 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, который отображает имена изображений в ресурсы.

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

Это означает, что вам нужно изменить хэш-таблицу каждый раз, когда вы добавляете новый образ ... – xil3

+0

Вот почему я написал его не лучшим решением. Хотя вы можете использовать Reflections для чтения общедоступных полей и автоматически загружать хэшмап. Подумайте об этом, вы можете использовать Reflections, чтобы просто получить идентификатор и забыть о карте. – Itsik

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 используется только с пустым экраном. Не с изображением –

+0

Вы уверены, что используете правильный путь к изображению? Изображения на SD-карте? – xil3

+0

Можете ли вы также разместить свой ImageView (xml или если вы заявите его программно)? – xil3

2

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

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

thanx для ответа .... –

Смежные вопросы