2017-03-24 1 views
-1

JSON ArrayからVolleyを使用して応答が返されます。私は必要な文字列を取得します。 これらの文字列をArrayListに入れて、recyclerviewアダプタにデータを格納したいとします。しかし、それは起こっていません。ここでJson配列データがArrayListに入らない

は、JSONリクエストです:

mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view); 
    mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); 
    mRecyclerView.setAdapter(mRecyclerViewAdapter); 

    RequestQueue queue = VolleySingleton.getInstance(this).getRequestQueue(); 
    String url ="http://www.drunkenwords.in/web.php"; 

    JsonObjectRequest req = new JsonObjectRequest(Request.Method.GET, url, null, 
      new Response.Listener<JSONObject>() { 
       @Override 
       public void onResponse(JSONObject response) { 
        JSONArray jsonArray; 
        ArrayList<Model> resp = new ArrayList<>(); 
        try { 
         jsonArray = response.getJSONArray("info"); 
         String x= response.getString("status"); 
         Toast.makeText(MainActivity.this,x,Toast.LENGTH_LONG).show(); 
         for(int i=0; i<jsonArray.length(); i++){ 


          resp.add(new Model(jsonArray.getString(i))); 
          Toast.makeText(MainActivity.this,resp.get(i).getTitle(),Toast.LENGTH_LONG).show(); 

         } 
         mRecyclerViewAdapter.setItems(resp); 
        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      Log.d("y", "Error: " + error.getMessage()); 
     } 
    }); 

    queue.add(req); 

    mRecyclerViewAdapter.setItems(ar); 

    mRecyclerViewAdapter.notifyDataSetChanged(); 

助けてください!

答えて

0
mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view); 
    mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); 


    RequestQueue queue = VolleySingleton.getInstance(this).getRequestQueue(); 
    String url ="http://www.drunkenwords.in/web.php"; 

    JsonObjectRequest req = new JsonObjectRequest(Request.Method.GET, url, null, 
      new Response.Listener<JSONObject>() { 
       @Override 
       public void onResponse(JSONObject response) { 
        JSONArray jsonArray; 
        ArrayList<Model> resp = new ArrayList<>(); 
        try { 
         jsonArray = response.getJSONArray("info"); 
         String x= response.getString("status"); 
         Toast.makeText(MainActivity.this,x,Toast.LENGTH_LONG).show(); 
         for(int i=0; i<jsonArray.length(); i++){ 


          resp.add(new Model(jsonArray.getString(i))); 
          Toast.makeText(MainActivity.this,resp.get(i).getTitle(),Toast.LENGTH_LONG).show(); 

         } 

         mRecyclerViewAdapter.setItems(resp); 
         mRecyclerView.setAdapter(mRecyclerViewAdapter); 
        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      Log.d("y", "Error: " + error.getMessage()); 
     } 
    }); 

    queue.add(req); 

    mRecyclerViewAdapter.setItems(ar); 

    mRecyclerViewAdapter.notifyDataSetChanged(); 
0

これはあなたを助け、この

try { 
       JSONObject jsonObject = new JSONObject(response); 
       JSONArray jsonArray = jsonObject.getJSONArray("info"); 
       for(int i = 0; i < jsonArray.length(); i++) 
       { 
        JSONObject jobj = jsonArray.getJSONObject(i); 
        String x= jobj.getString("status"); 
        Toast.makeText(MainActivity.this,x,Toast.LENGTH_LONG).show(); 
        resp.add(new Model(jsonArray.getString(i))); 
        Toast.makeText(MainActivity.this,resp.get(i).getTitle(),Toast.LENGTH_LONG).show(); 

       } 
      } catch (JSONException e) { 
       Log.e("exception", "Error parsing data " + e.toString());     
      } 

希望を使用してみてください。

0
Try This 

mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view); 
mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); 
mRecyclerView.setAdapter(mRecyclerViewAdapter); 

RequestQueue queue = VolleySingleton.getInstance(this).getRequestQueue(); 
String url ="http://www.drunkenwords.in/web.php"; 

JsonObjectRequest req = new JsonObjectRequest(Request.Method.GET, url, null, 
     new Response.Listener<JSONObject>() { 
      @Override 
      public void onResponse(JSONObject response) { 
       JSONArray jsonArray; 
       ArrayList<Model> resp = new ArrayList<>(); 
       try { 
        jsonArray = response.getJSONArray("info"); 
        String x= response.getString("status"); 
        Toast.makeText(MainActivity.this,x,Toast.LENGTH_LONG).show(); 
        for(int i=0; i<jsonArray.length(); i++){ 


         resp.add(new Model(jsonArray.getString(i))); 
         Toast.makeText(MainActivity.this,resp.get(i).getTitle(),Toast.LENGTH_LONG).show(); 

        } 
        mRecyclerViewAdapter.setItems(resp); 
       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 
      } 
     }, new Response.ErrorListener() { 
    @Override 
    public void onErrorResponse(VolleyError error) { 
     Log.d("y", "Error: " + error.getMessage()); 
    } 
}); 

queue.add(req); 

mRecyclerViewAdapter.notifyDataSetChanged(); 

mRecyclerViewAdapter.setItems(ar); 
関連する問題