fix bug 关于博主手机不好,经常点一次却触发两次事件,就设置了一个防止多点击,间隔100毫秒。 #6
This commit is contained in:
@@ -235,7 +235,7 @@ public class VerificationCodeView extends LinearLayout implements TextWatcher, V
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onKey(View v, int keyCode, KeyEvent event) {
|
public boolean onKey(View v, int keyCode, KeyEvent event) {
|
||||||
if (keyCode == KeyEvent.KEYCODE_DEL) {
|
if (keyCode == KeyEvent.KEYCODE_DEL && event.getAction() == KeyEvent.ACTION_DOWN) {
|
||||||
backFocus();
|
backFocus();
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -275,17 +275,14 @@ public class VerificationCodeView extends LinearLayout implements TextWatcher, V
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void backFocus() {
|
private void backFocus() {
|
||||||
//博主手机不好,经常点一次却触发两次`onKey`事件,就设置了一个防止多点击,间隔100毫秒。
|
|
||||||
long startTime = System.currentTimeMillis();
|
|
||||||
EditText editText;
|
EditText editText;
|
||||||
//循环检测有字符的`editText`,把其置空,并获取焦点。
|
//循环检测有字符的`editText`,把其置空,并获取焦点。
|
||||||
for (int i = mEtNumber - 1; i >= 0; i--) {
|
for (int i = mEtNumber - 1; i >= 0; i--) {
|
||||||
editText = (EditText) getChildAt(i);
|
editText = (EditText) getChildAt(i);
|
||||||
if (editText.getText().length() >= 1 && startTime - endTime > 100) {
|
if (editText.getText().length() >= 1) {
|
||||||
editText.setText("");
|
editText.setText("");
|
||||||
editText.setCursorVisible(true);
|
editText.setCursorVisible(true);
|
||||||
editText.requestFocus();
|
editText.requestFocus();
|
||||||
endTime = startTime;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user