android - 我想在使用 kotlin 在 android 中单击 Button 后更改背景

标签 android button background kotlin

我想在点击按钮后改变背景

   var bm : Button = messeg
    bm . setOnClickListener {
        bm . background = R.color.green
    }

错误日志:

Error:(35, 31) Type mismatch: inferred type is Int but Drawable! was expected Error:Execution failed for task ':app:compileDebugKotlin'.

Compilation error. See log for more details

最佳答案

background 需要一个 Drawable,但您传递的是颜色资源。

  1. 您可以使用setBackgroundColor 来设置颜色资源:

bm.setBackgroundColor(R.color.green)

  1. setBackgroundResource 可用于设置可绘制资源:

bm.setBackgroundResource(R.drawable.green_resource)

  1. background 属性可用于设置可绘制对象:

bm.background = ContextCompat.getDrawable(context, R.drawable.green_resource)

关于android - 我想在使用 kotlin 在 android 中单击 Button 后更改背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45893416/

相关文章:

python - 错误 : _tkinter. TclError:无法调用 "wm"命令:应用程序已被销毁

asp.net-mvc - 对自定义 MVC html 控件使用分部 View

jquery改变用户滚动的背景颜色

java - 设置 JFrame 的背景颜色不起作用

java - 滚动 ListView 时 TextView 中的数据切换

android - 无法运行我的信标应用程序,因为 kontakt sdk 错误

html - 链接和按钮定位

java - C 和 Java 如何将函数定义分开,而不是 new OnClickHandler(){

android - 创建Android扩展文件

multithreading - 在后台和线程中加载 JavaFX 图像