在我的努力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
字符串?提前致谢。
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);
笔记
从@乔恩飞碟双向评论,真的String
值"null"
。下面的代码解决了它
if (userEmail != null && !userEmail.isEmpty() && !userEmail.equals("null"))
检查空字符串,如果它等于零,长度是零或含有“空”串
public static boolean isEmptyString(String text) {
return (text == null || text.trim().equals("null") || text.trim()
.length() <= 0);
}
哟可以用这个检查:
if(userEmail != null && !userEmail .isEmpty())
请记住,你必须从上面的准确与顺序代码中使用。因为这保证你不会得到userEmail.isEmpty()
一个空指针异常,如果userEmail
为null。
上面的描述中,这只是因为Java SE的1.6可用。检查userEmail.length() == 0
在以前的版本。
更新:
从isEmpty(stringVal)
类TextUtils
方法使用:
if (TextUtils.isEmpty(userEmail))
您可以从文本实用程序的实用方法“的isEmpty”检查,
的isEmpty(CharSequence的STR)方法检查这两个条件,空和长度。
public static boolean isEmpty(CharSequence str) {
if (str == null || str.length() == 0)
return true;
else
return false;
}
如果你检查null或空字符串,所以你可以试试这个
if (createReminderRequest.getDate() == null && createReminderRequest.getDate().trim().equals("")){
DialogUtility.showToast(this, ProjectUtils.getString(R.string.please_select_date_n_time));
}
所有你能做的就是呼吁空字符串equals()方法直译和传递您正在测试,如下图所示的对象:
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);
这为我工作
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){
}