这是我的代码,我需要一个比较函数来替换true,以便可以设置不同的颜色。我尝试了getBackground()并遇到许多错误,并且尝试了此处Stack上的其他选项,但均未成功。
private fun makeColored(view: View) {
when (view.id) {
R.id.box_one_text -> if (true) view.setBackgroundColor(Color.DKGRAY) else view.setBackgroundColor(Color.WHITE)
答案 0 :(得分:1)
据我所知,这是我可以提供的答案,尽管可能会有更好的答案。
button.tag = "DEFAULT"
button.setOnClickListener { view ->
makeColored(view)
}
您的makeColored
函数应为:
private fun makeColored(view: View) {
when (view.tag) {
"DEFAULT" -> {
view.setBackgroundColor(Color.GREEN)
view.tag = Color.GREEN
}
Color.RED -> {
view.setBackgroundColor(Color.BLUE)
view.tag = Color.BLUE
}
Color.BLUE -> {
view.setBackgroundColor(Color.GREEN)
view.tag = Color.GREEN
}
Color.GREEN -> {
view.setBackgroundColor(Color.RED)
view.tag = Color.RED
}
}
}