how to Recyclerview data in volley methods

Recyclerview Adapt

public class CarAdapter extends RecyclerView.Adapter<CarAdapter.ViewHolder> {

    List<Model>models;
    Context context;

    public CarAdapter(List<Model> models, Context context) {
        this.models = models;
        this.context = context;
    }

    @NonNull    @Override    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
        View view = layoutInflater.inflate(R.layout.design,parent,false);
        return new ViewHolder(view);
    }

    @Override    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {

        holder.name.setText(models.get(position).name);
      

    }

    @Override    public int getItemCount() {
        return models.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder {

        TextView name;
        

        public ViewHolder(View itemView) {
            super(itemView);

            name = itemView.findViewById(R.id.name);
          

        }
    }
}


--------------------------

MainActivity


public class MainActivity extends AppCompatActivity {

    private String URLstring = "";
    List<Model>models;
    CarAdapter carAdapter;
    RecyclerView recyclerView;

    private static final String TAG = "MainActivity";


    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        recyclerView = findViewById(R.id.recyclerview);

        recyclerView.setLayoutManager(new LinearLayoutManager(this));

        models = new ArrayList<>();

        fetchingJSON();
    }

    private void fetchingJSON() {


        StringRequest stringRequest = new StringRequest(Request.Method.GET, URLstring, new Response.Listener<String>() {
            @Override            public void onResponse(String response) {

                try {
                    JSONObject jsonObject=new JSONObject(response);
                    JSONArray array=jsonObject.getJSONArray("row");
                    for (int i=0; i<array.length(); i++){

                        JSONObject ob=array.getJSONObject(i);
                        Log.d(TAG, "onResponse: "+ob);

             
                        Model model = new Model(ob.getString("name"));
                        models.add(model);

                    }

                    carAdapter = new CarAdapter(models,getApplicationContext());
                    recyclerView.setAdapter(carAdapter);


                } catch (JSONException e) {
                    e.printStackTrace();
                    Log.d(TAG, "onResponse: error");
                }

            }
        }, new Response.ErrorListener() {
            @Override            public void onErrorResponse(VolleyError error) {

                Log.d(TAG, "onErrorResponse: real error");
            }
        });

        RequestQueue requestQueue= Volley.newRequestQueue(this);
        requestQueue.add(stringRequest);
    }
}


Comments