VerificationCodeView
VerificationCodeView copied to clipboard
clearInputContent()与焦点背景问题
private void setText(String inputContent) {
for (int i = 0; i < mPwdTextViews.length; i++) {
PwdTextView tv = mPwdTextViews[i];
if (tv.getText().toString().trim().equals("")) {
if (mEtPwd) {
tv.drawPwd(mEtPwdRadius);
}
tv.setText(inputContent);
// 添加输入完成的监听
if (inputCompleteListener != null) {
//step one
inputCompleteListener.inputComplete();
}
tv.setBackgroundDrawable(mEtBackgroundDrawableNormal);
if (i < mEtNumber - 1) {
//step two
mPwdTextViews[i + 1].setBackgroundDrawable(mEtBackgroundDrawableFocus);
}
break;
}
}
}
如果在step one的inputComplete()方法中调用了clearInputContent();那么step two为什么还要继续设置后续的焦点背景?是不是要调换下顺序?我在使用中遇到这个问题了.
// 给TextView 设置文字
private void setText(String inputContent) {
for (int i = 0; i < mPwdTextViews.length; i++) {
PwdTextView tv = mPwdTextViews[i];
if (tv.getText().toString().trim().equals("")) {
if (mEtPwd) {
tv.drawPwd(mEtPwdRadius);
}
tv.setText(inputContent);
tv.setBackgroundDrawable(mEtBackgroundDrawableNormal);
if (i < mEtNumber - 1) {
mPwdTextViews[i + 1].setBackgroundDrawable(mEtBackgroundDrawableFocus);
}
// 添加输入完成的监听
if (inputCompleteListener != null) {
inputCompleteListener.inputComplete();
}
break;
}
}
}
我这样调整下顺序,就可以了
// 给TextView 设置文字 private void setText(String inputContent) { for (int i = 0; i < mPwdTextViews.length; i++) { PwdTextView tv = mPwdTextViews[i]; if (tv.getText().toString().trim().equals("")) { if (mEtPwd) { tv.drawPwd(mEtPwdRadius); } tv.setText(inputContent); tv.setBackgroundDrawable(mEtBackgroundDrawableNormal); if (i < mEtNumber - 1) { mPwdTextViews[i + 1].setBackgroundDrawable(mEtBackgroundDrawableFocus); } // 添加输入完成的监听 if (inputCompleteListener != null) { inputCompleteListener.inputComplete(); } break; } } }
我这样调整下顺序,就可以了
麻烦 你请求合并下代码 我来同意
我不懂怎么请求合并代码啊老哥
ok,我试下,但愿不会把项目搞乱
老哥你看下,我提交上去了