Header Ads

retofit get

@GET("/category.php")
void category(Callback<CategoryPojo> callback);



category_recycle_view = (RecyclerView) findViewById(R.id.category_recycle_view);
GetCategoryList();

private void GetCategoryList() {
    dialog.ShowProgressDialog();
    RestClient.get().category(new Callback<CategoryPojo>() {
        @Override        public void success(CategoryPojo categoryPojo, retrofit.client.Response response) {
            layoutManager = new GridLayoutManager(context, 2);
            category_recycle_view.setLayoutManager(layoutManager);

            categoryAdapter = new CategoryAdapter(context, categoryPojo.getData());
            category_recycle_view.setAdapter(categoryAdapter);
            category_recycle_view.setItemAnimator(new DefaultItemAnimator());

            dialog.CancelProgressDialog();

            System.out.println("xxx success");
        }

        @Override        public void failure(RetrofitError error) {

            System.out.println("xxx faill");

            dialog.CancelProgressDialog();

        }
    });
}



public class CategoryAdapter extends RecyclerView.Adapter<CategoryAdapter.MyViewHolder> implements Filterable {

    private Context context;
    private ArrayList<CategoryDataPojo> categorylist;
    public ArrayList<CategoryDataPojo> mFilteredList;

    public CategoryAdapter(Context context, ArrayList<CategoryDataPojo> list){
        this.context = context;
        this.categorylist = list;
        this.mFilteredList = list;

    }


    @Override    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.category_data, parent, false);

        return new MyViewHolder(itemView);
    }

    @Override    public void onBindViewHolder(MyViewHolder holder, int position) {
        final CategoryDataPojo pojo = mFilteredList.get(position);

        holder.buy_cat_name.setText(pojo.getCategory_name());

        Picasso.with((BuyDashboardActivity) context).load("http://2040healthcare.com/images/category/" + pojo.getImage())
                .placeholder(R.mipmap.gallery_icon)
                .into(holder.buy_cat_img);

        holder.category_ll.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View view) {
                Intent intent = new Intent(context, SubCategoryActivity.class);
                intent.putExtra("sub_category_list",pojo.getSubcategory());
                context.startActivity(intent);
            }
        });
    }

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

    @Override    public int getItemViewType(int position) {

        return super.getItemViewType(position);
    }

    @Override    public Filter getFilter() {

        return new Filter() {
            @Override            protected FilterResults performFiltering(CharSequence charSequence) {

                String charString = charSequence.toString();

                if (charString.isEmpty()) {

                    mFilteredList = categorylist;
                } else {

                    ArrayList<CategoryDataPojo> filteredList = new ArrayList<>();

                    for (CategoryDataPojo service_search : categorylist) {

                        if (service_search.getCategory_name().toLowerCase().contains(charString)) {

                            filteredList.add(service_search);
                        }
                    }

                    mFilteredList = filteredList;
                }

                FilterResults filterResults = new FilterResults();
                filterResults.values = mFilteredList;
                return filterResults;
            }

            @Override            protected void publishResults(CharSequence charSequence, FilterResults filterResults) {
                mFilteredList = (ArrayList<CategoryDataPojo>) filterResults.values;
                notifyDataSetChanged();
            }
        };
    }


    public class MyViewHolder extends RecyclerView.ViewHolder {

        private LinearLayout category_ll;
        private TextView buy_cat_name;
        private ImageView buy_cat_img;

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

            category_ll = (LinearLayout) itemView.findViewById(R.id.category_ll);
            buy_cat_name = (TextView) itemView.findViewById(R.id.buy_cat_name);
            buy_cat_img = (ImageView) itemView.findViewById(R.id.buy_cat_img);


        }
     }
    }

No comments

Powered by Blogger.