2011-01-26 2 views
0

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

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()); 
     } 

Справка была бы принята с благодарностью!

+0

Просьба показать полный стек вашей аварии с помощью логарифма. –

ответ

1

Вам необходимо изучить логику нулевой проверки. У вас есть:

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

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

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

Не работает, попробовал это уже. – user576820

+0

Также попробовал compareTo. – user576820

+0

Какое значение возвращает 'Add.this.input.getText(). ToString()' return, когда нет ввода, если это не пустая строка? – jball

 Смежные вопросы

  • Нет связанных вопросов^_^