Как проверить, имеет ли значение EditText значение в Android / Java

Это должно быть простым, но я попытался, если утверждения, проверяющие нулевые значения, а также проверяющие его .length:

EditText marketValLow = (EditText) findViewById(R.id.marketValLow); EditText marketValHigh = (EditText) findViewById(R.id.marketValHigh); if (marketValLow.getText().length() != 0 && marketValHigh.getText().length() != 0) { Intent intent = new Intent(); intent.setClass(v.getContext(), CurrentlyOwe.class); startActivity(intent); } else { Toast.makeText(CurrentMarketValue.this, "You need to enter a high AND low.", Toast.LENGTH_SHORT); } 

Но он не обнаружил, что ничего не было введено. Есть идеи?

Solutions Collecting From Web of "Как проверить, имеет ли значение EditText значение в Android / Java"

Пожалуйста сравните строковое значение не с == но equals() :

 String yourString = ; if (marketValHigh.getText().toString().equals("")) { // This should work! } 

Это проверит, пустой ли текст редактирования или нет:

 if (marketValLow.getText().toString().trim().equals("")) { } 

Скорее всего, вы можете проверить:

 String text = mSearchText.getText().toString(); if (!TextUtils.isEmpty( mSearchText.getText().trim())) { // your code } 

Может быть, так?

 String value = editText.getText().toString(); if (value == "") { // your code here } 

Если он прекратит переход к следующему действию, но не показывает тост, в вашем заявлении else должно быть что-то не так. Вы читали статью «Руководство Dev» о уведомлениях Toast? Он находится под Пользовательским интерфейсом -> Уведомление пользователя -> Создание уведомлений о тостах.

Валидация несколько утомительна. Может быть, я могу помочь вам более общим образом. Я написал базовую структуру для проверки полей в Android .

Это абсолютно бесплатно, и вы можете делать с ним все, что вам нравится.

Написать простую функцию внутри класса:

  public static boolean isEditTextEmpty( EditText et){ String s = et.getText().toString(); return s.equals(""); // really empty. } public static boolean isEditTextInvisible( EditText et){ String s = et.getText().toString(); return s.trim().equals(""); // might have only spaces... } 

ИЛИ … с положительной логикой:

  public static boolean hasContentEditText( EditText et){ String s = et.getText().toString(); return s != null; // spaces will count. }