codeViewHolder
.initListener(
textChangeCallBack = {
checkButtonState()
},
onSendClick = {
if (phoneViewHolder.isValid()) {
getPhoneCode()
} else {
ToastUtil.showShortToast(this, "请输入正确的手机号")
}
}
)
class VerCodeViewHolder(val view: View) {
// 验证码
private var code = ""
/** 初始化监听 */
fun initListener(textChangeCallBack: (String) -> Unit, onSendClick: () -> Unit): VerCodeViewHolder {
view.et_code.addTextChangedListener {
code = it
// 返回用户密码
textChangeCallBack(code)
}
view.tv_send_code.setOnClickListener {
onSendClick()
}
return this
}
}
/** 内容变化监听 */
fun EditText.addTextChangedListener(textChanged: (String) -> Unit) =
addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
textChanged(s.toString())
}
})