Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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中不使用params读取大量凌乱数据_Android_Json_Android Volley - Fatal编程技术网

回收器视图在android中不使用params读取大量凌乱数据

回收器视图在android中不使用params读取大量凌乱数据,android,json,android-volley,Android,Json,Android Volley,我使用volley从数据源接收数据,问题是如果我在查询中执行某些操作(如添加参数),则recycler视图不起作用。截击有什么问题吗 public void getting locations() { String url = "URL REMOVED"; RequestQueue queue = Volley.newRequestQueue(MainActivity.this); // this = context JsonObjectRequest jsonObjRe

我使用volley从数据源接收数据,问题是如果我在查询中执行某些操作(如添加参数),则recycler视图不起作用。截击有什么问题吗

public void getting locations() {
    String url = "URL REMOVED";
    RequestQueue queue = Volley.newRequestQueue(MainActivity.this); // this = context
    JsonObjectRequest jsonObjReq = new JsonObjectRequest(
            Request.Method.GET, url, null,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    JSONObject status = null;
                    try {
                        JSONObject jObj = new JSONObject(String.valueOf(response));

                        JSONArray jr = jObj.getJSONArray("products");
                        for(int i=0;i<jr.length();i++)
                        {
                            JSONObject jb1 = jr.getJSONObject(i);
                            String title = jb1.getString("title");
                            Log.d("Title",""+title);
                            String img = jb1.getString("featured_src");
                            JSONArray a = jb1.getJSONArray("categories");
                            String category = "";

                            lstBook.add(new Book(title,"rAJA","Description book",img));

                        }




                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {

    @Override
    public void onErrorResponse(VolleyError error) {
        VolleyLog.d("EROOOOOOOOOOOOOOOOOOOOOR", "Error: " + error.getMessage());
    }
}) {
    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
        HashMap<String, String> headers = new HashMap<String, String>();
        headers.put("Content-Type", "application/json; charset=utf-8");
        headers.put("User-agent", "My useragent");

        return headers;
    }

};
jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(5000,
        DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
        DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
queue.add(jsonObjReq);
public void获取位置(){
String url=“url已删除”;
RequestQueue=Volley.newRequestQueue(MainActivity.this);//this=context
JsonObjectRequest JSONObjectReq=新的JsonObjectRequest(
Request.Method.GET,url,null,
新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
JSONObject status=null;
试一试{
JSONObject jObj=新的JSONObject(String.valueOf(response));
jr=jObj.getJSONArray(“产品”);

对于(inti=0;i将myAdapter声明为私有变量,并按如下所述更改代码

lstBook.Add(新书(标题,“rAJA”,“描述书”,img));
myrv.setAdapter(myAdapter);


当我尝试添加您提到的参数时,我能够获得数据。错误消息是什么,或者您缺少哪些数据?我无法访问您的logcat。stack是logcat的密码。当我尝试在截取url中添加?page=2或?filter之类的参数时,它只是不加载内容。其原因是因为ley无法读取完整的json数据。屏幕截图logcat没有打印全部内容。这并不意味着它没有加载数据。请尝试在for循环中单独打印标题并进行验证。我可以验证它是否确实打印了所有数据,您能给我一些指导吗?我正在将此数据放入recyclerview中所以,当我提出简单的请求时,它会显示出来,但当我添加参数时,它不会显示出来
for(int i=0;i<jr.length();i++)
 {
    JSONObject jb1 = jr.getJSONObject(i);
    String title = jb1.getString("title");
    String img = jb1.getString("featured_src");
    JSONArray a = jb1.getJSONArray("categories");
    String category = "";
    lstBook.add(new Book(title,"rAJA","Description book",img));
    myAdapter.notifyDataSetChanged();
}
myAdapter = new RecyclerViewAdapter(this,lstBook);
myrv.setLayoutManager(new GridLayoutManager(this,2));
myrv.setAdapter(myAdapter);
myAdapter.notifyDataSetChanged();