2013-01-23 24 views
0

我想在每次按下按鈕時更改我的應用程序中顯示的圖像。 應該顯示的圖像的名稱位於我的對象中。我可以使用setImageResource的相對路徑

String nameOfImage = myObhect.get(i).getImageName(); 

獲得圖像的名字現在,我想與

iv.setImageResource(R.drawable.notruf); 

使用setImageResource顯示當前的圖像,我不知道如何把我的形象的名字setImageResource,因爲,例如

iv.setImageResource(R.drawable. + aktbild)肯定是不可能的。

我也試過setImageDrawable的方式,但這對我不起作用。

回答

3

我用類似的解決方案在我的應用程序:

Context mContext = this; // I supposed you're in Activity 
String imgName = fragenkatalog.get(i).getBild(); 
int resId = mContext.getResources().getIdentifier(imgName, 
         "drawable", mContext.getApplicationInfo().packageName); 
if(resId > 0){ 
    iv.setImageResource(resId); 
} 
+0

感謝您的回答。什麼是mContext? – user896692

+0

mContext是您的活動/背景 – throrin19

+0

我的活動的名稱是Bronze(公共類Bronze extends Activity),Bronze.getResources()....不起作用。我在路上錯了嗎? – user896692

0

我相信這個代碼將幫助ü..

String aktbild = fragenkatalog.get(i).getBild(); 
byte[] decodedString = Base64.decode(aktbild , Base64.DEFAULT); 
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, 
decodedString.length); 

之後,如果要調整該圖像的使用這段代碼。

int width=75; 
int height=75; 
Bitmap resizedbitmap=Bitmap.createScaledBitmap(decodedByte, width, height, true); 

最後設置圖像到ImageView的。

Icon.setImageBitmap(resizedbitmap);`