我在应用中使用Volley
。我从Volley name,email,phone
获得response
值。条件是name
和email
值是{{ 1}},我想在null
中设置phone
值。如果TextView
和name
值为phone
,我想设置empty
在TextView中。如果email
和phone
为空,我想在TeextView中设置email
。
这是name
回复
JSON
这就是我解析{
"id": 25,
"email": "aa@gmail.com",
"phone": null,
"full_name": ""
}
JSON
怎么做?
答案 0 :(得分:0)
if(TextUtils.isEmpty(email) && TextUtils.isEmpty(fullName)) {
entry.setText(phone);
}
else if(TextUtils.isEmpty(phone) && TextUtils.isEmpty(fullName))
{
entry.setText(email);
}
else if(TextUtils.isEmpty(email) && TextUtils.isEmpty(phone)) {
entry.setText(fullName);
}
试试这个, TextUtils.isEmpty(str)也检查空值,所以不需要进一步循环。
答案 1 :(得分:0)
检查此代码:
if(fullName.isEmpty() && fullName != null && email.isEmpty() && email != null)
textView.setText(phone);
if(fullName.isEmpty() && fullName != null && phone.isEmpty() && phone != null)
textView.setText(email);
if(email.isEmpty() && email != null && phone.isEmpty() && phone != null)
textView.setText(fullName);
答案 2 :(得分:0)
首先,根据你的问题不要从数据库中获取null null否则你会得到NullPointerException获取一个空字符串并尝试这个。
JsonObjectRequest foodie_request = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
String fullName = response.getString("full_name");
String phone = response.getString("phone");
String email = response.getString("email");
if (fullName.toString().trim().length() == 0 && email.toString().trim().length() == 0) {
entry.setName(phone);
} else if (fullName.toString().trim().length() == 0 && phone.toString().trim().length() == 0) {
entry.setName(email);
} else if (phone.toString().trim().length() == 0 && email.toString().trim().length() == 0) {
entry.setName(fullName);
}
// progressDialog.dismiss();
adapter.notifyDataSetChanged();
} catch (JSONException e) {
e.printStackTrace();
}
}
}
尝试使用它,希望它有所帮助。