Porównaj ceny domen i usług IT, sprzedawców z całego świata

Android sprawdza pusty lub pusty ciąg w systemie Android


Próbując
AsyncTask
, otrzymuję adres e-mail z mojego serwera. W
onPostExecute ()
muszę sprawdzić, czy adres e-mail jest
pusty
czy
null
. Użyłem następującego kodu, aby to przetestować:
if (userEmail != null && !userEmail.isEmpty()) {
Toast.makeText(getActivity(), userEmail, Toast.LENGTH_LONG).show();
UserEmailLabel.setText(userEmail);
}

Ale w moim
Toast
widzę, że wypisywane jest
null
. Mój pełny kod:
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);
}
}

Jak mogę sprawdzić obecność linii
null
i
pustych
?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:


Za pomocą
TextUtils.isEmpty( someString )
https://developer.android.com/ ... Empty(java.lang.CharSequence)
>
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);


Nagrania

Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Właściwie z komentarza @Jon Skeeta wynika, że ​​wartość
String
to
„null”
. Poniższy kod rozwiązał ten problem
if (userEmail != null && !userEmail.isEmpty() && !userEmail.equals("null"))
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz to sprawdzić za pomocą tego:
if(userEmail != null && !userEmail .isEmpty())

I pamiętaj, że przy tym zamówieniu musisz użyć dokładnie powyższego kodu. Ponieważ zapewnia to, że nie otrzymasz zerowego wyjątku wskaźnika z
userEmail.isEmpty ()
, jeśli
userEmail
ma wartość null.
Powyższy opis jest dostępny tylko od wersji Java SE 1.6. Sprawdź
userEmail.length () == 0
w poprzednich wersjach.


UPDATE

:
Użyj metody from
isEmpty (stringVal)
z klasy
TextUtils
:

if (TextUtils.isEmpty(userEmail))


Kotlin

:
Użyj z
isNullOrEmpty
dla wartości null lub pustych LUB
isNullOrBlank
dla wartości null lub pustej albo składa się wyłącznie ze znaków białych.
if (userEmail.isNullOrEmpty())...
if (userEmail.isNullOrBlank())
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:


Sprawdzanie, czy jest pusty ciąg, jeśli ma on wartość null, długość wynosi zero lub zawiera ciąg

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

Anonimowy użytkownik

Potwierdzenie od:

Możesz to sprawdzić za pomocą metody narzędzia „isEmpty” z TextUtils,
Metoda isEmpty (CharSequence str) sprawdza zarówno wartość null, jak i długość.
public static boolean isEmpty(CharSequence str) {
if (str == null || str.length() == 0)
return true;
else
return false;
}
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

jeśli sprawdzisz pusty lub pusty ciąg, możesz spróbować to zrobić
if (createReminderRequest.getDate() == null && createReminderRequest.getDate().trim().equals("")){
DialogUtility.showToast(this, ProjectUtils.getString(R.string.please_select_date_n_time));
}
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Moje proste rozwiązanie, aby sprawdzić, czy ciąg jest pusty:
if (s.equals ("null")) {
.....
}
Są dwa przypadki.
Zmienna (typu String) ma wartość null (nie istnieje):
== działa.
Zmienna ma wartość null,
* .equals („null”) podaje poprawną wartość logiczną.
Zobacz zdjęcie.
https://i.stack.imgur.com/dbOJC.jpg
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

To zadziałało dla mnie
EditText etname = (EditText) findViewById(R.id.etname);
if(etname.length() == 0){
etname.setError("Required field");
}else{
Toast.makeText(getApplicationContext(),"Saved",Toast.LENGTH_LONG).show();
}

lub użyj tego do ciągów
String DEP_DATE;
if (DEP_DATE.equals("") || DEP_DATE.length() == 0 || DEP_DATE.isEmpty() || DEP_DATE == null){
}
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wszystko, co możesz zrobić, to wywołać metodę equals () na pustym literale ciągu i przekazać testowany obiekt, jak pokazano poniżej:
String nullString = null;
String empty = new String();
boolean test = "".equals(empty);// true
System.out.println(test);
boolean check = "".equals(nullString);// false
System.out.println(check);
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jeśli żadna z podanych odpowiedzi nie działa, spróbuj
String myString = null;if(myString.trim().equalsIgnoreCase("null")){
//do something
}

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się