когда мое заявление не проходит - PullRequest
0 голосов
/ 16 февраля 2020

Я пытаюсь настроить способ убедиться, что группы EditText и Radio заполнены. Я настроил логическое значение, чтобы сказать, если это правда или ложь, что что-то отсутствует.

По какой-то причине он не проходит мимо моего System.out.println(test0.2), а затем снова начинает печатать на System.out.println(isEmpty). scanState - это перечисление, которое будет в приведенном ниже коде.

public enum ScanState {
    scanning,
    empty,
    stopped
}

ScanState scanState;

public boolean checkForms() {
    boolean isEmpty = false;
    scanState = ScanState.scanning;
    ScrollView scrollView = findViewById(R.id.scroll);
    LinearLayout linearLayout = findViewById(R.id.linearLayout);
    final int childCount = linearLayout.getChildCount();
    View element = null;
    for (int i = 0; i < childCount; i++) {
        element = linearLayout.getChildAt(i);
        System.out.println(i);
        switch (scanState) {
            case scanning:
                System.out.println("test0.2");
                if (element instanceof EditText) {
                    System.out.println("test0.3");
                    EditText editText = (EditText) element;
                    if (editText.getText() == null) {
                        scrollView.scrollTo(0, editText.getTop() + 10);
                        isEmpty = true;
                        scanState = ScanState.empty;
                        break;
                    }
                    else {
                        break;
                    }
                }

                if (element instanceof RadioGroup) {
                    RadioGroup radioGroup = (RadioGroup) element;
                    System.out.println("test1");
                    if (radioGroup.getCheckedRadioButtonId() == -1) {
                        System.out.println("test2");
                        scrollView.scrollTo(0, radioGroup.getTop());
                        isEmpty = true;
                        scanState = ScanState.empty;
                        break;
                    } else {
                        break;
                    }

                }
                scanState = ScanState.stopped;
                break;
            case empty:
                break;
            case stopped:
                break;
        }
    }
    System.out.println(isEmpty);
    return isEmpty;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...