在Android中基于Volley Response设置TextView

时间:2018-05-29 07:16:24

标签: android android-volley android-json

我在应用中使用Volley。我从Volley name,email,phone获得response值。条件是nameemail值是{{ 1}},我想在null中设置phone值。如果TextViewname值为phone,我想设置empty在TextView中。如果emailphone为空,我想在TeextView中设置email
这是name回复

JSON

这就是我解析{ "id": 25, "email": "aa@gmail.com", "phone": null, "full_name": "" }

的方法
JSON

怎么做?

3 个答案:

答案 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();
                }
            }
        }

尝试使用它,希望它有所帮助。