构建一个用于审查学院的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 相同时,编译器在一行显示错误。