【发布时间】:2020-10-13 07:02:50
【问题描述】:
我提到了这个 --> https://stackoverflow.com/a/31367723/12553303
我尝试了上述解决方案,但它不起作用 --> 几秒钟内不显示该可绘制对象
这是我的代码:
buynow.setOnClickListener(object : View.OnClickListener{
override fun onClick(v: View?) {
// set the color red first.
buynow.setBackgroundResource(R.drawable.mybuttonred)
// change to original after 5 secs.
Handler().postDelayed(Runnable { buynow.setBackgroundResource(R.drawable.mybutton)
Toast.makeText(applicationContext,"ksjdf",Toast.LENGTH_LONG).show()
},
5000)
}
})
即使吐司在点击时也不起作用
我错过了什么?
【问题讨论】:
-
因为您在视图上调用了 setOnClickListener(在您的情况下为buynow)。您无需在buynow 上再次调用setBackgroundResource。您在 onclick 方法 中将视图(buynow)作为 v 传递,您可以使用它。 示例 - v. setBackgroundResource.. 处理 nullabillity
-
您确定
buynow视图是可点击的吗?也许点击侦听器在您的代码中的其他地方被删除/替换。你还有其他buynow.setOnClickListener(...)的调用吗? -
我正在尝试@DevBhattacharjee
-
@JeneaVranceanu
Do you have any other invocations of buynow.setOnClickListener(...)?---> 没有 -
能否提供整个类的代码??
标签: android android-layout kotlin button handler