如何在android应用中屏蔽按钮?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
android开发中,免不了会有很多按钮的点击,为防止用户故意为之,连续不停的点击按钮,造成短时间内不必要的请求过多,或者 出现多个跳转页面的问题,客户端需要对点击动作 做屏蔽处理,即屏蔽短时间内连续点击。(当然,这样也只是尽可能减少上述问题的出现,手速够快的情况下,还是会出现)
正确代码:
abstract class OnMultiClickListener(private val interval: Long = MULTI_CLICK_INTERVAL): View.OnClickListener {
private companion object {
private const val MULTI_CLICK_INTERVAL = 500L
}
private var mLastClickTime = 0L
abstract fun onMultiClick(v: View?)
final override fun onClick(v: View?) {
v.runSafety {
val currentTime = System.currentTimeMillis()
//注意,这里要使用绝对值
if (abs(currentTime - mLastClickTime) < interval) {
mLastClickTime = currentTime //赋值一
return
}
mLastClickTime = currentTime //赋值二
onMultiClick(v)
}
}
}
注意点:
1、如果间隔时间设置过长,可能会造成视觉上点击卡顿的现象
2、如果修改系统时间,则可能造成时间判断出问题,进而导致按钮点击无响应。故必须用绝对值进行比较。
3、注意两处赋值位置
看完上述内容,你们掌握如何在android应用中屏蔽按钮的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。