2012-11-04 59 views
1

我寫了下面的代碼:如何從android.Activity.java中的按鈕設置背景圖片?

  ImageButton b = (ImageButton) v; 
       b.setBackgroundResource(R.drawable.tom); 

tom.png是在res /繪製。上面的代碼正在工作,但我將圖像名稱保存在數據庫中(例如「tom」)。我試過後面的代碼:

InfoDataSource datasourceRuta = new InfoDataSource(this); 
    datasourceRuta.open(); 

    String strInfo = "";   


    List<Info> objInfo = datasourceRuta.GetInfo() 

    for (Info info : objInfo) { 
     strInfo = info.getImg0(); 

      ImageButton b = (ImageButton) v; 
       b.setBackgroundResource(R.drawable.strInfo); 

     } 

strInfo =「湯姆」,我得到一個錯誤:strInfo不能得到解決,或者不是一個領域。 你有解決方案嗎? 我應該將圖像保存在數據庫中嗎?

回答

2

當您將「tom」圖像複製到可繪製文件夾時,Android會在gen/R.java中爲該字段生成一個字段。在這種情況下。 R.java中沒有strInfo,所以你不能訪問它。

在這種情況下,您應該從圖像文件讀取,爲您的按鈕創建一個位圖和setBackground。您可以參考:How to read a file into a Java Bitmap?