Intereting Posts
Java.util.regex.PatternSyntaxException: Синтаксическая ошибка в шаблоне регулярного выражения рядом с индексом Для библиотек поддержки Android Material, где я могу найти CardView и RecyclerView? Как найти DNS-серверы в Android с помощью Java-программы? Разница между rawquery и execSQL в базе данных android sqlite Скрыть / Показать панель инструментов программно на CoordinatorLayout Диалоговое окно выбора намерений показывает имя пакета, кроме метки активности Когда будет вызван метод onDestroyView из фрагмента, но он не будет уничтожен? Понимание цветов на Android (шесть символов) Как получить значение RatingBar Выберите первые n строк в contentProvider Версия проекта для библиотек выше, чем проекты, использующие его Android: как очистить кэш приложений и сохранить данные пользователя через adb? Eclipse необходимо перезапустить часто, чтобы logcat работал правильно GetBackStackEntryCount () всегда возвращает 0 даже после добавления addToBackStack и executePendingTransactions () Всегда ли требуется выполнение PendingTransactions ()?

Android check null или пустая строка в Android

В моей попытке AsyncTask я получаю адрес электронной почты с моего сервера. В onPostExecute() я должен проверить адрес электронной почты empty или null . Я использовал следующий код, чтобы проверить его:

 if (userEmail != null && !userEmail.isEmpty()) { Toast.makeText(getActivity(), userEmail, Toast.LENGTH_LONG).show(); UserEmailLabel.setText(userEmail); } 

Но в моем Toast я вижу, что null печатается. Мой полный код:

 private class LoadPersonalData extends AsyncTask<String, Void, Void> { @Override protected void onPreExecute() { super.onPreExecute(); } protected Void doInBackground(String... res) { List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("user_id", PrefUserName)); params.add(new BasicNameValuePair("type", type_data)); JSONObject json = jsonParser.makeHttpRequest(Url, "POST", params); String result = ""; try { result = json.getString("message"); } catch (JSONException e) { e.printStackTrace(); } if (result.equals("success")) { try { userEmail = json.getString("email"); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return null; } @Override protected void onPostExecute(Void result) { // TODO Auto-generated method stub super.onPostExecute(result); if (userEmail != null && !userEmail.isEmpty()) { Toast.makeText(getActivity(), userEmail, Toast.LENGTH_LONG).show(); UserEmailLabel.setText(userEmail); } } 

Как я могу проверить null и empty строку? Заранее спасибо.

Solutions Collecting From Web of "Android check null или пустая строка в Android"

Используйте TextUtils.isEmpty( someString )

 String myString = null; if (TextUtils.isEmpty(myString)) { return; // or break, continue, throw } // myString is neither null nor empty if this point is reached Log.i("TAG", myString); 

Заметки

  • В документации указано, что проверяются как нулевые, так и нулевые длины. Не нужно изобретать колесо здесь.
  • Хорошей практикой является раннее возвращение .

Из комментария @Jon Skeet действительно значение String равно "null" . После выполнения этого кода

 if (userEmail != null && !userEmail.isEmpty() && !userEmail.equals("null")) 

Проверка пустой строки, если она равна нулю, длина равна нулю или содержит строку «null»

 public static boolean isEmptyString(String text) { return (text == null || text.trim().equals("null") || text.trim() .length() <= 0); } 

Yo может проверить это с помощью этого:

 if(userEmail != null && !userEmail .isEmpty()) 

И помните, что вы должны использовать от точного выше кода с этим заказом. Поскольку это гарантирует, что вы не получите исключение null-указателя из userEmail.isEmpty() если userEmail равно null.

Описание выше, оно доступно только с Java SE 1.6. Проверьте userEmail.length() == 0 в предыдущих версиях.

Вы можете проверить его с помощью метода утилиты «isEmpty» из TextUtils,

Метод isEmpty (CharSequence str) проверяет оба условия на нуль и длину.

 public static boolean isEmpty(CharSequence str) { if (str == null || str.length() == 0) return true; else return false; } 

ЗА РАБОТОЙ !!!!

  String text = mEmailTextView.getText().toString(); if (text.matches("")&& text.trim().equals("null")){ return false; } else{ return true; } 

Это сработало для меня

 EditText etname = (EditText) findViewById(R.id.etname); if(etname.length() == 0){ etname.setError("Required field"); }else{ Toast.makeText(getApplicationContext(),"Saved",Toast.LENGTH_LONG).show(); } 

Или Используйте это для строк

 String DEP_DATE; if (DEP_DATE.equals("") || DEP_DATE.length() == 0 || DEP_DATE.isEmpty() || DEP_DATE == null){ }