private TextWatcher mTextWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (mNameEd.isFocusable()) {
mNameStr = mNameEd.getText().toString();
}
if(mPwdEd.isFocusable()){
mPwdStr = mPwdEd.getText().toString();
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
int lengthName = mNameEd.getEditableText().toString().trim().length();
int lengthPwd = mPwdEd.getEditableText().toString().trim().length();
//自动切换EditText焦点
if(mNameEd.isFocusable() && lengthName > 13){
mPwdEd.requestFocus();
}
}
};
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (mNameEd.isFocusable()) {
mNameStr = mNameEd.getText().toString();
}
if(mPwdEd.isFocusable()){
mPwdStr = mPwdEd.getText().toString();
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
int lengthName = mNameEd.getEditableText().toString().trim().length();
int lengthPwd = mPwdEd.getEditableText().toString().trim().length();
//自动切换EditText焦点
if(mNameEd.isFocusable() && lengthName > 13){
mPwdEd.requestFocus();
}
}
};
主要是通过afterTextChanged方法,监听如果超过了最大输入值就限制输入,把焦点切换到下个editview。