diff --git a/pinview/src/main/java/com/goodiebag/pinview/Pinview.java b/pinview/src/main/java/com/goodiebag/pinview/Pinview.java index fd6dd5b326c7ca1302091a84ce2c32223aa997aa..67fe163b9c271ad3f6a57896cfa13e318c6cf980 100644 --- a/pinview/src/main/java/com/goodiebag/pinview/Pinview.java +++ b/pinview/src/main/java/com/goodiebag/pinview/Pinview.java @@ -146,50 +146,55 @@ public class Pinview extends DirectionalLayout implements MyValue.page = 3; } MyValue.size = 0; - new ToastDialog(mContext).setText(MyValue.page + "").show(); - for (int i = 0; i < Integer.parseInt(component.getTag().toString()); i++) { - TextField textField = editTextList.get(i); - String text = textField.getText(); - if (text == null || text.length() == 0) { - component.setEnabled(false); - component.setFocusable(FOCUS_DISABLE); - count++; + if (!isCursorVisible) { + for (int i = 0; i < Integer.parseInt(component.getTag().toString()); i++) { + TextField textField = editTextList.get(i); + String text = textField.getText(); + if (text == null || text.length() == 0) { + component.setEnabled(false); + component.setFocusable(FOCUS_DISABLE); + count++; + } } - } - if (count == 0) { - if (((TextField) component).getText().length() == 0) { - component.setFocusable(FOCUS_ENABLE); - component.setEnabled(true); - component.requestFocus(); - selectFlag((TextField) component, 1); - } else { - for (int i = 0; i < mPinLength; i++) { - TextField textField = editTextList.get(i); - if (textField.length() == 0) { - number++; - textField.setFocusable(FOCUS_ENABLE); - textField.setEnabled(true); - textField.requestFocus(); + if (count == 0) { + if (((TextField) component).getText().length() == 0) { + component.setFocusable(FOCUS_ENABLE); + component.setEnabled(true); + component.requestFocus(); + selectFlag((TextField) component, 1); + } else { + for (int i = 0; i < mPinLength; i++) { + TextField textField = editTextList.get(i); + if (textField.length() == 0) { + number++; + textField.setFocusable(FOCUS_ENABLE); + textField.setEnabled(true); + textField.requestFocus(); + if (mFlag != 3) { + setPinBackgroundRes(textField, 1); + } else { + setPinBackgroundRes(textField, mFlag); + } + component.clearFocus(); + return; + } + } + if (number == 0) { + TextField textField = editTextList.get(mPinLength - 1); if (mFlag != 3) { setPinBackgroundRes(textField, 1); } else { setPinBackgroundRes(textField, mFlag); } - component.clearFocus(); - return; - } - } - if (number == 0) { - TextField textField = editTextList.get(mPinLength - 1); - if (mFlag != 3) { - setPinBackgroundRes(textField, 1); } else { - setPinBackgroundRes(textField, mFlag); + number = 0; } - } else { - number = 0; } } + } else { + component.setFocusable(FOCUS_ENABLE); + component.setEnabled(true); + component.requestFocus(); } if (count != 0) { count = 0; @@ -258,12 +263,14 @@ public class Pinview extends DirectionalLayout implements * @param tag tag */ private void generateOneEditText(TextField styleEditText, String tag) { - if (Integer.parseInt(tag) == 0) { - styleEditText.setClickable(true); - } else { - styleEditText.setClickable(false); - styleEditText.setEnabled(false); - styleEditText.setFocusable(FOCUS_DISABLE); + if (!isCursorVisible) { + if (Integer.parseInt(tag) == 0) { + styleEditText.setClickable(true); + } else { + styleEditText.setClickable(false); + styleEditText.setEnabled(false); + styleEditText.setFocusable(FOCUS_DISABLE); + } } styleEditText.setHeight(mPinHeight); styleEditText.setWidth(mPinWidth);