package ren.solid.ganhuoio.module.home.provider;
import android.support.annotation.NonNull;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import me.drakeet.multitype.ItemViewProvider;
import ren.solid.ganhuoio.R;
import ren.solid.ganhuoio.common.activity.SubActivity;
import ren.solid.ganhuoio.bean.CategoryList;
import ren.solid.ganhuoio.module.home.activity.CategoryActivity;
import ren.solid.library.imageloader.ImageLoader;
/**
* Created by _SOLID
* GitHub:https://github.com/burgessjp
* Date:2017/3/12
* Time:15:11
* Desc:
*/
public class CategoryViewProvider
extends ItemViewProvider<CategoryList, CategoryViewProvider.ViewHolder> {
@NonNull
@Override
protected ViewHolder onCreateViewHolder(
@NonNull LayoutInflater inflater, @NonNull ViewGroup parent) {
View root = inflater.inflate(R.layout.item_categorys, parent, false);
return new ViewHolder(root);
}
@Override
protected void onBindViewHolder(@NonNull ViewHolder holder, @NonNull CategoryList categoryList) {
holder.recyclerView.setLayoutManager(new LinearLayoutManager(holder.itemView.getContext(),
LinearLayoutManager.HORIZONTAL, false));
holder.recyclerView.setAdapter(new SubAdapter(categoryList));
}
static class ViewHolder extends RecyclerView.ViewHolder {
RecyclerView recyclerView;
ViewHolder(View itemView) {
super(itemView);
recyclerView = (RecyclerView) itemView.findViewById(R.id.recyclerView);
}
}
static class SubAdapter extends RecyclerView.Adapter<SubAdapter.SubViewHolder> {
CategoryList categoryList;
LayoutInflater inflater;
SubAdapter(CategoryList categoryList) {
this.categoryList = categoryList;
}
@Override
public SubViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (inflater == null) {
inflater = LayoutInflater.from(parent.getContext());
}
View itemView = inflater.inflate(R.layout.item_category, parent, false);
return new SubViewHolder(itemView);
}
@Override
public void onBindViewHolder(SubViewHolder holder, int position) {
final String type = categoryList.getData().get(position).getName();
holder.tv_title.setText(type);
ImageLoader.displayImage(holder.iv_img, categoryList.getData().get(position).getImgUrl());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if ("福利".equals(type)) {
SubActivity.start(v.getContext(), "看妹纸", SubActivity.TYPE_MEIZHI);
} else {
CategoryActivity.start(v.getContext(), type);
}
}
});
}
@Override
public int getItemCount() {
return categoryList.getData().size();
}
static class SubViewHolder extends RecyclerView.ViewHolder {
TextView tv_title;
ImageView iv_img;
SubViewHolder(View itemView) {
super(itemView);
tv_title = (TextView) itemView.findViewById(R.id.tv_title);
iv_img = (ImageView) itemView.findViewById(R.id.iv_img);
}
}
}
}