1

次のコードを書きました。

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

tom.png は res/drawable にあります。上記のコードは機能していますが、画像名をデータベースに保存しました (「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 = "tom" で、エラーが表示されます: strInfo を解決できないか、フィールドではありません。解決策はありますか?画像をデータベースに保存する必要がありますか?

4

1 に答える 1

2

「tom」画像を drawable フォルダーにコピーすると、Android はそのための tom フィールドである gen/R.java にフィールドを生成します。この場合。R.java には strInfo がないため、アクセスできません。

この場合、画像ファイルから読み取り、ビットマップを作成し、ボタンの背景を設定する必要があります。これを参考にしてください: How to read a file into a Java Bitmap?

于 2012-11-12T02:52:10.260 に答える