PHP URL中RecyclerView中的java句柄空异常
我试图从PHP URL在RecyclerView中处理这个空异常。如果出现空异常,我希望它显示Toast消息:No Result Found
空异常:
密码
StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray array = jsonObject.getJSONArray(uarray);
for (int i = 0; i < array.length(); i++) {
JSONObject p = array.getJSONObject(i);
Category_Movie item = new Category_Movie(
p.getInt("id"),
p.getString("mTitle"),
p.getString("mDesc"),
p.getInt("mYear"),
);
listItems.add(item);
}
mAdapter = new CategoryListAll_Adapter(listItems, getActivity());
recyclerView.setAdapter(mAdapter);
} catch(JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
requestQueue.add(stringRequest);
# 1 楼答案
编辑
创建一个方法来验证JSONObject
尝试编辑以下代码:
# 2 楼答案
早早归来是一条路
因此,在没有结果的情况下,我将与已知的
String
值null
进行比较在检查它是否可能有效之前
JSON
(这可能已经被排除在外):或者改进语句
e.printStackTrace()
并相应地处理JSONException
:在访问
PHP
代码时。。。最好总是返回一个可解析的JSON
响应:。。。当客户端期望
application/json
而不是text/plain
时