android实现发送验证码倒计时,在Android中使用Kotlin实现发送验证码60秒倒计时
在Android中使用Kotlin实现发送验证码60秒倒计时==============================首先添加一个Kotlin支持findViewById的插件 apply plugin: 'kotlin-android-extensions’如何使用呢?有了这个插件直接导入包 import kotlinx.android.synthetic.main.layout_activi
在Android中使用Kotlin实现发送验证码60秒倒计时
==============================
首先添加一个Kotlin支持findViewById的插件 apply plugin: 'kotlin-android-extensions’
如何使用呢?
有了这个插件直接导入包 import kotlinx.android.synthetic.main.layout_activity_code.* ,layout_activity_code是当前的布局文件,这样就方便使用了,比如我有一个Text View的空间id名称为tv,我要给这个TextView设置文本,就直接 tv.text = “使用Kotlin开发Android” 就是这么简单,接下来正题,通过实现Handler接口实现验证码60秒倒计时,代码来了
import kotlinx.android.synthetic.main.layout_activity_code.*
class UpdatePhoneActivity : BaseActivity() , View.OnClickListener{
private var mCurrentNum = 60
private val TIME: Long = 1000
override fun contentView() {
setContentView(R.layout.layout_activity_code)
send_verify_code_layout.setOnClickListener(this)
}
override fun onClick(v: View?) {
when (v?.id) {
R.id.send_verify_code_layout -> {
edit_verifycode.postDelayed(this, TIME);
}
}
}
//这里通过object关键字声明Runnable接口
private val mRefreshRunnable: Runnable = object : Runnable {
override fun run() {
sendverifycode.text = mCurrentNum.toString() + “s”
progressbar.visibility = View.GONE
if (mCurrentNum == 0) {
edit_verifycode.removeCallbacks(this)
send_verify_code_layout.isEnabled = true
sendverifycode.text = "重发验证码"
} else {
mCurrentNum -= 1
edit_verifycode.postDelayed(this, TIME);
}
sendverifycode.visibility = View.VISIBLE
}
}
}
更多推荐
所有评论(0)