Android - Отклонить проблему с нулевым вводом - PullRequest
0 голосов
/ 27 января 2011

В настоящее время я пытаюсь заставить мой код отклонить пустой (пустой) ввод, каждый раз, когда я ничего не вводю для значений, он выходит из строя, однако приказывает, чтобы он отклонял «0», сработало (как видно в другой части кода if).

boolean check_input1 = Add.this.input.getText().toString().equals(null);
        boolean check_input2 = Add.this.input2.getText().toString().equals(null);
        boolean check_input3 = Add.this.input3.getText().toString().equals(null);

        float pricecheck_input2 = Float.valueOf(Add.this.input2.getText().toString().trim()).floatValue();
        float pricecheck_input3 = Float.valueOf(Add.this.input3.getText().toString().trim()).floatValue();

        if (check_input1 == true | check_input2 == true | check_input3 == true) {
       // prepare the alert box
               AlertDialog.Builder alertbox = new AlertDialog.Builder(Add.this);

               // set the message to display
               alertbox.setMessage("No fields may be blank");

               alertbox.show();
        }
        else if (pricecheck_input2 == 0 | pricecheck_input3 == 0) {
         // prepare the alert box
               AlertDialog.Builder alertbox = new AlertDialog.Builder(Add.this);

               // set the message to display
               alertbox.setMessage("Prices must be greater than 0");

               alertbox.show();
        }
        else {
         new InsertDataTask().execute(Add.this.input.getText().toString(), Float.toString(abv_ppl_calculation), Add.this.input3.getText().toString());
        }

Помощь будет принята с благодарностью!

1 Ответ

1 голос
/ 27 января 2011

Вам нужно проверить логику для проверки на ноль.У вас есть:

boolean check_input1 = Add.this.input.getText().toString().equals(null);

Вопрос в том, как бы toString() вылилось в null?Ваш код находится на правильном пути, поскольку небольшое копание показывает, что .getText() никогда не вернет null (это всегда CharSequence)Правая сторона вашей проверки должна вместо этого проверить пустую строку.Например:

boolean check_input1 = Add.this.input.getText().toString().equals("");
...