Intereting Posts

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){ }