比较JSONArray的值时为Null指针

时间:2019-03-02 14:31:50

标签: java json

构建一个用于审查学院的android应用程序,显示Null指针异常的College页面在手动打开(通过主屏幕)时可以正常工作,但是在搜索学院并调用onClick时,相同的College Page给出了获取的Null指针异常使用数据库中的Volley库来获取数据。

  

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'java.lang.String java.lang.String.toString()'           在com.learnxapp.xfinder_collegeandcoursefinder.CollegePage2 $ 4.onResponse(CollegePage2.java:199)           在com.learnxapp.xfinder_collegeandcoursefinder.CollegePage2 $ 4.onResponse(CollegePage2.java:188)中           在com.android.volley.toolbox.JsonRequest.deliverResponse(JsonRequest.java:90)           在com.android.volley.ExecutorDelivery $ ResponseDeliveryRunnable.run(ExecutorDelivery.java:102)           在android.os.Handler.handleCallback(Handler.java:873)           在android.os.Handler.dispatchMessage(Handler.java:99)           在android.os.Looper.loop(Looper.java:193)           在android.app.ActivityThread.main(ActivityThread.java:6718)           在java.lang.reflect.Method.invoke(本机方法)           在com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:495)           在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

由于以下几行代码而导致错误,这些代码用于在大学页面上显示用户评论:

public void parseJSON3(){

    String url="url_here";

    JsonArrayRequest request = new JsonArrayRequest(Request.Method.GET, url, null, new Response.Listener<JSONArray>() {
        @Override
        public void onResponse(JSONArray response) {
            try {

                for(int i=0 ; i < response.length() ; i++){

                    JSONObject cdata=response.getJSONObject(i);
                    String cid=cdata.getString("cid");
                    String uname = cdata.getString("uname");
                    String ucomment = cdata.getString("ucomment");
                    if(Rank2.equals(cid))
                        dataList3.add(new DataFetchCollegeDetails(uname, ucomment));

                }

                exampleAdapter= new Rcyc3AdapterComments(CollegePage2.this,dataList3);
                RcycleComments.setAdapter(exampleAdapter);
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            error.printStackTrace();
        }
    });
    requestQueue3.add(request);
}

当我检查 Rank2 是否与 cid 相同时,编译器在一行显示错误。

0 个答案:

没有答案