android - 如何在 android 中为来自 ..Activity.java 的按钮设置背景图像?

标签 android android-button

我写了下面的代码:

            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 无法解析或不是一个字段。 你有解决办法吗? 我应该将图像保存在数据库中吗?

最佳答案

当您将“tom”图像复制到可绘制文件夹时,Android 会在 gen/R.java 中为此生成一个 tom 字段。在这种情况下。 R.java中没有strInfo,所以访问不到。

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

关于android - 如何在 android 中为来自 ..Activity.java 的按钮设置背景图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13223386/

相关文章:

android - 使用按钮显示/隐藏文本

android - Kotlin 流 : unsubscribe from SharedFlow when Fragment becomes invisible

java - 连接到3G移动网络时获取android设备的IP地址

android - 如何更改Android中按钮的文本背景颜色?

java - Android 按钮变为可见时不可点击

android - 使用按钮单击控制 ImageView

java - Android 构造和语法错误

java - 该对象内的对象的数组列表

android - Android Studio 的工具菜单中没有 Firebase

android - 从 LinearLayout 中移除 Button