Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中基于截击响应设置TextView_Android_Android Volley_Android Json - Fatal编程技术网

在Android中基于截击响应设置TextView

在Android中基于截击响应设置TextView,android,android-volley,android-json,Android,Android Volley,Android Json,我在应用程序中使用了Volley。我从Volleyresponse中获得姓名、电子邮件、电话值。条件是姓名和电子邮件值为空,我想在TextView中设置phone值。如果name和phone值为empty,我想在TextView中设置email。如果phone和email为空,我想在TeextView中设置name。 这是JSON响应 { "id": 25, "email": "aa@gmail.com", "phone": null, "full_name":

我在应用程序中使用了
Volley
。我从Volley
response
中获得
姓名、电子邮件、电话
值。条件是
姓名
电子邮件
值为
,我想在
TextView
中设置
phone
值。如果
name
phone
值为
empty
,我想在TextView中设置
email
。如果
phone
email
为空,我想在TeextView中设置
name

这是
JSON
响应

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

 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(email.trim().equals("") && fullName.trim().equals(""))
                                        {
                                            entry.setName(phone);
                                        }
                                       else  if(phone==null && fullName.trim().equals(""))
                                        {
                                            entry.setName(email);
                                        }
                                        else if(email.trim().equals("") && phone==null  ) {
                                            entry.setName(fullName);
                                        }

                                       // progressDialog.dismiss();
                                        adapter.notifyDataSetChanged();
                                    } catch (JSONException e) {
                                        e.printStackTrace();
                                    }
                                }  
JsonObjectRequest foodie\u request=newjsonobjectrequest(request.Method.GET,url,null,new Response.Listener()){
@凌驾
公共void onResponse(JSONObject响应)
{
试一试{
String fullName=response.getString(“全名”);
String phone=response.getString(“phone”);
String email=response.getString(“email”);
if(email.trim().equals(“”)&&fullName.trim().equals(“”)
{
entry.setName(电话);
}
else if(phone==null&&fullName.trim().equals(“”)
{
entry.setName(电子邮件);
}
else if(email.trim().equals(“”&&phone==null){
entry.setName(全名);
}
//progressDialog.disclose();
adapter.notifyDataSetChanged();
}捕获(JSONException e){
e、 printStackTrace();
}
}  
如何做到这一点

 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)也检查空值,因此无需进一步循环。

检查此代码:

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);

首先,根据您的问题,不要从数据库中获取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();
                }
            }
        }
JsonObjectRequest foodie\u request=newjsonobjectrequest(request.Method.GET,url,null,new Response.Listener()){
@凌驾
公共void onResponse(JSONObject响应){
试一试{
String fullName=response.getString(“全名”);
String phone=response.getString(“phone”);
String email=response.getString(“email”);
if(fullName.toString().trim().length()=0&&email.toString().trim().length()=0){
entry.setName(电话);
}else if(fullName.toString().trim().length()=0&&phone.toString().trim().length()=0){
entry.setName(电子邮件);
}else if(phone.toString().trim().length()=0&&email.toString().trim().length()=0){
entry.setName(全名);
}
//progressDialog.disclose();
adapter.notifyDataSetChanged();
}捕获(JSONException e){
e、 printStackTrace();
}
}
}

尝试使用此功能,希望能有所帮助。

这有什么错误?每次都会在文本视图中设置名称(如果响应中可用)。但如果电子邮件和电话可用且名称缺失,则不会设置电子邮件和电话。