VerificationCodeView
VerificationCodeView copied to clipboard
onKeyDelete 回调的是 inputComplete
// 监听删除 private void onKeyDelete() { for (int i = mPwdTextViews.length - 1; i >= 0; i--) { PwdTextView tv = mPwdTextViews[i]; if (!tv.getText().toString().trim().equals("")) { if (mEtPwd) { tv.clearPwd(); } tv.setText(""); // 添加删除完成监听 tv.setBackgroundDrawable(mEtBackgroundDrawableFocus); if (i < mEtNumber - 1) { mPwdTextViews[i + 1].setBackgroundDrawable(mEtBackgroundDrawableNormal); } if (inputCompleteListener != null) { inputCompleteListener.deleteContent(); } break; } } }
private class MyTextWatcher implements TextWatcher {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable editable) {
String inputStr = editable.toString();
if (!TextUtils.isEmpty(inputStr)) {
char[] strArray = inputStr.toCharArray();
for (int i = 0; i < strArray.length; i++) {
// 不能大于输入框个数
if (i > mEtNumber) {
break;
}
setText(strArray[i] + "");
et.setText("");
}
}
}
}
解决inputComplete调用两遍