title: How to load data(json) into recycler view using volley
body: <p>I have implemented recyclerview in my application and now i need to fetch data from the server and i just came to know about volley being the best way to fetch data. I searched online but i am unable to find a proper tutorial for the same.</p>
  
  <p>This is how i initialized the recyclerview in my code.(which has hardcoded data set)</p>
  
  <pre><code> mRecyclerView = (RecyclerView) findViewById(R.id.recyclerview);
      LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
      linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
      mRecyclerView.setLayoutManager(linearLayoutManager);
  
      mAdapter = new CardAdapter();
      mRecyclerView.setAdapter(mAdapter);  
  </code></pre>
  
  <p>here is the adapter code.</p>
  
  <pre><code>public class CardAdapter extends RecyclerView.Adapter&lt;CardAdapter.ViewHolder&gt; {
  
  ArrayList&lt;BusRouteNameDetails&gt; mItems;
  public int TAG=0;
  
  public CardAdapter() {
      super();
      mItems = new ArrayList&lt;&gt;();
      BusRouteNameDetails routename = new BusRouteNameDetails();
      routename.setName("xyz");
      routename.setNumber("X4");
  
      mItems.add(routename);
  
      routename = new BusRouteNameDetails();
      routename.setName("xyz");
      routename.setNumber("X4");
  
      mItems.add(routename);
  
      routename = new BusRouteNameDetails();
      routename.setName("xyz");
      routename.setNumber("X4");
  
      mItems.add(routename);
  
      routename = new BusRouteNameDetails();
      routename.setName("xyz");
      routename.setNumber("X4");
  
      mItems.add(routename);
  
  
      routename = new BusRouteNameDetails();
      routename.setName("xyz");
      routename.setNumber("X4");
  
      mItems.add(routename);
  }
  
  @Override
  public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
      View v = LayoutInflater.from(viewGroup.getContext())
              .inflate(R.layout.busroutename_list, viewGroup, false);
      ViewHolder viewHolder = new ViewHolder(v);
      return viewHolder;
  }
  
  @Override
  public void onBindViewHolder(ViewHolder viewHolder, int i) {
      BusRouteNameDetails routename = mItems.get(i);
      viewHolder.tvName.setText(routename.getName());
      viewHolder.tvRoutename.setText(routename.getNumber());
      Log.e("TAG","i value="+ i);
      if(i==mItems.size()-1)
         viewHolder.seperator.setVisibility(View.INVISIBLE);
  
  }
  
  @Override
  public int getItemCount() {
      Log.e("TAG","item size"+ mItems.size());
      return mItems.size();
  
  }
  
  class ViewHolder extends RecyclerView.ViewHolder{
  
  
      public TextView tvName;
      public TextView tvRoutename;
      public View seperator;
  
      public ViewHolder(View itemView) {
          super(itemView);
  
          tvName = (TextView)itemView.findViewById(R.id.RouteName1);
          tvRoutename = (TextView)itemView.findViewById(R.id.Route_src_dest);
          seperator=(View)itemView.findViewById(R.id.seperator);
      }
  }
  }
  </code></pre>
  
  <p>And here are the getters and setters</p>
  
  <pre><code>public class BusRouteNameDetails {
  private String mName;
  private String mNumber;
  
  public String getName() {
      return mName;
  }
  
  public void setName(String name) {
      this.mName = name;
  }
  
  public String getNumber() {
      return mNumber;
  }
  
  public void setNumber(String Number) {
      this.mNumber = Number;
  }
  
  }
  </code></pre>