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”图像复制到可绘制文件夹时,Android 会在 gen/R.java 中生成一个 tom 字段。在这种情况下。R.java 中没有 strInfo,所以无法访问。

在这种情况下,您应该从图像文件中读取,为您的按钮创建一个位图和 setBackground。您可以参考:How to read a file into a Java Bitmap?

于 2012-11-12T02:52:10.260 回答