Ответ 1
Пожалуйста, сравните строковое значение не с ==
, а equals()
:
String yourString = ;
if (marketValHigh.getText().toString().equals(""))
{
// This should work!
}
Это должно быть простым, но я пробовал, если операторы проверяют нулевые значения, а также проверяют его .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);
}
Но он не обнаруживает, что ничего не было введено. Любые идеи?
Пожалуйста, сравните строковое значение не с ==
, а 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.
}