Проверьте, находится ли число, введенное в «EditText» в массиве - Android Studio Java - PullRequest
0 голосов
/ 30 ноября 2018

Я хочу знать, существует ли на самом деле число, которое пользователь ввел в «EditText» внутри массива, вот мой текущий код:

 final String[] gameArray = {("1"), ("2"), ("3"), ("4"), ("5")};


public void startGame(View v) {

    if (Arrays.asList(gameArray).contains((text))) {

        Outputs1.setText("You typed in: " + text + ", which is the correct number!");

    } else {

        Outputs1.setText("No number 1-5 detected, please type in a number 1-5.");

    }

}

Когда пользователь вводит число, он проверяетесли это число существует внутри массива с помощью оператора If, и если оно это делает, оно отображает сообщение, если это не так, оно отображает другое сообщение.

К сожалению, это не работает (так как отображается толькодругое сообщение, хотя я набрал 1-5), и другие вопросы и ответы тоже не сработали.

Любой ответ будет отличным.

Ответы [ 2 ]

0 голосов
/ 02 декабря 2018

Я исправил это сейчас, вы должны добавить .toString() в конце оператора If.

Я изменил: if (Arrays.asList(numberArray).contains((text)))

На: if (Arrays.asList(numberArray).contains((Inputs1.getText().toString())))

После этого он должен работать.

0 голосов
/ 30 ноября 2018

Я надеюсь, что это может помочь

 final String[] numberArray = {("1"), ("2"), ("3"), ("4"), ("5")};

    myEditText.addTextChangedListener(new TextWatcher() {
        @Override
        public void afterTextChanged(Editable s) {
            if(s.length() == 0) return;

            String text = s.toString().substring(s.length() - 1);
            if (Arrays.asList(numberArray).contains((text))) {
                Toast.makeText(getActivity(),"You typed in: " + text + ", which is correct!", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(getActivity(),"Please type in a number 1-5.", Toast.LENGTH_SHORT).show();
            }
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {}
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...