use*_*985 64 android android-asynctask android-fragmentactivity
在我尝试时,AsyncTask我从我的服务器获取电子邮件地址.在onPostExecute()我必须检查是电子邮件地址empty或null.我使用以下代码来检查它:
if (userEmail != null && !userEmail.isEmpty()) {
Toast.makeText(getActivity(), userEmail, Toast.LENGTH_LONG).show();
UserEmailLabel.setText(userEmail);
}
Run Code Online (Sandbox Code Playgroud)
但在我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);
}
}
Run Code Online (Sandbox Code Playgroud)
我如何检查null和empty字符串?提前致谢.
Sur*_*gch 130
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);
Run Code Online (Sandbox Code Playgroud)
笔记
use*_*985 56
来自@Jon Skeet评论,真正的String价值在于"null".以下代码解决了它
if (userEmail != null && !userEmail.isEmpty() && !userEmail.equals("null"))
Run Code Online (Sandbox Code Playgroud)
Nar*_*aki 16
你可以用这个检查一下:
if(userEmail != null && !userEmail .isEmpty())
Run Code Online (Sandbox Code Playgroud)
请记住,您必须使用上述完全相同的代码.因为这确保您不会从userEmail.isEmpty()if 获得空指针异常userEmail为null.
以上描述,它仅在Java SE 1.6之后可用.检查userEmail.length() == 0以前的版本.
更新:
使用isEmpty(stringVal)来自TextUtils类的方法:
if (TextUtils.isEmpty(userEmail))
Run Code Online (Sandbox Code Playgroud)
hit*_*141 14
如果空字符串等于null,则检查空字符串,长度为零或包含"null"字符串
public static boolean isEmptyString(String text) {
return (text == null || text.trim().equals("null") || text.trim()
.length() <= 0);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
126252 次 |
| 最近记录: |