@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);
}
}
}
Post a Comment