Что возвращает EditText.getText() в android, если он пуст?
Я пробовал пустую и пустую строку, любые другие идеи?
Ответы
Ответ 1
Никакой другой возможности.
getText
, infact, никогда не вернет null. Он возвращает CharSequence
, содержимое которого может быть пустым.
Вместо выполнения getText().toString().equals("")
или наоборот, быстрее выполнить getText().length() == 0
Ответ 2
Если он пуст, это будет работать:
if(mEditText.getText().toString().equals("")) {
// stuff to run when it empty
}
Даже если он пуст, getText() все равно вернет редактируемый, поэтому, если вы пытаетесь это сделать:
if(mEditText.getText().equals("")) {
// stuff
}
Это, безусловно, не работает.
Ответ 3
Вы можете использовать TextUtils.isEmpty(mEditText.getText(). toString()). Он вернет true, если его пустой/null.
Ответ 4
Лучший способ проверить это - сохранить значение в переменной типа:
String text = mEditText.getText().toString();
а затем использовать логический оператор isEmpty
например:
if (text.isEmpty){
// stuff
}
Ответ 5
Посмотрев на несколько вопросов и так как уже можно получить ноль, я нашел ответ, чтобы избежать
вызов метода toString может произвести NPE
предупреждение повсюду:
String theText = String.valueOf(mEditText.getText());