Как проверить, имеет ли значение 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);
}

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

Ответы

Ответ 1

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

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

Ответ 2

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

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

Ответ 3

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

String text = mSearchText.getText().toString();

if (!TextUtils.isEmpty( mSearchText.getText().trim())) {
    // your code
}

Ответ 4

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

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

Ответ 5

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

Ответ 6

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

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

Ответ 7

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

    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.             
   }