最近有人问我这个问题,EditText三个编辑框输入,动态改变登陆按钮的颜色变化,话不多说,直接上代码,工作一年经验的都可以看懂:
@Override
protected void initView() {
WatchChange watch = new WatchChange();
reg_phone_edit.addTextChangedListener(watch);
reg_code_edit.addTextChangedListener(watch);
reg_code_phone_edit.addTextChangedListener(watch);
}
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case 101:
reg_login_btn.setEnabled(true);
reg_login_btn.setBackgroundResource(R.mipmap.reg_regbtn_enable);
break;
case 102:
reg_login_btn.setEnabled(false);
reg_login_btn.setBackgroundResource(R.mipmap.reg_regbtn_disable);
break;
}
}
};
/**
* 自定义监听EditText
*/
class WatchChange implements TextWatcher{
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if(reg_phone_edit.length()>0&®_code_edit.length()>0&®_code_phone_edit.length()>0){
Message msg = new Message();
msg.what=101;
handler.sendMessage(msg);
}else {
Message msg = new Message();
msg.what=102;
handler.sendMessage(msg);
}
}
}
本文介绍了一种在Android应用中实现多个EditText编辑框输入内容时动态改变登录按钮状态的方法。通过自定义TextWatcher监听器并结合Handler消息传递机制,确保只有当所有编辑框都有输入内容时,登录按钮才变为可用状态。
5481

被折叠的 条评论
为什么被折叠?



