From 5360442e8ea804c7bb324c19e828c36fc81d789f Mon Sep 17 00:00:00 2001 From: TFStudy <3202410880@qq.com> Date: Wed, 21 Apr 2021 15:54:19 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E5=85=89=E6=A0=87?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E8=BE=93=E5=85=A5=E6=A1=86=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/goodiebag/pinview/Pinview.java | 87 ++++++++++--------- 1 file changed, 47 insertions(+), 40 deletions(-) diff --git a/pinview/src/main/java/com/goodiebag/pinview/Pinview.java b/pinview/src/main/java/com/goodiebag/pinview/Pinview.java index fd6dd5b..67fe163 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); -- Gitee