/**
* Created by keven on 2018/3/9.
*/
public class RecyclerViewGridAdapter extends RecyclerView.Adapter<RecyclerViewGridAdapter.GridViewHolder> implements OnClickListener{
private Context mContext;
//RecyclerView所需的类
private List<CarProductModel> items;
//构造方法,一般需要接收两个参数 1.上下文 2.集合对象(包含了我们所需要的数据)
public RecyclerViewGridAdapter(Context mContext, List<CarProductModel> items){
this.mContext = mContext;
this.items = items;
}
@Override
public RecyclerViewGridAdapter.GridViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
//转换一个ViewHolder对象,决定了item的样式,参数1.上下文 2.XML布局资源 3.null
View itemView = View.inflate(mContext, R.layout.item_grid_product, null);
//创建一个ViewHodler对象
GridViewHolder gridViewHolder = new GridViewHolder(itemView);
//把ViewHolder传出去
return gridViewHolder;
}
@Override
public void onBindViewHolder(RecyclerViewGridAdapter.GridViewHolder holder, int position) {
CarProductModel item = items.get(position);
holder.setData(item);
}
@Override
public int getItemCount() {
return null != items ? items.size() : 0;
}
@Override
public void onClick(View view) {
}
public class GridViewHolder extends RecyclerView.ViewHolder {
private ImageView itemIcon;
private TextView itemName, itemPrice;
public GridViewHolder(View itemView) {
super(itemView);
itemIcon = (ImageView) itemView.findViewById(R.id.item_icon);
itemName = (TextView) itemView.findViewById(R.id.item_name);
itemPrice = (TextView) itemView.findViewById(R.id.item_price);
}
public void setData(CarProductModel item){
itemName.setText(item.getName());
itemPrice.setText(item.getFooterPrice() + "-" + item.getHeightPrice() + "万");
}
}
}
二、Activity实现:
private void initViewRecycler(){
recyclerRecommendProduct = (RecyclerView) findViewById(R.id.recommend_product);
//布局管理器对象 参数1.上下文 2.规定一行显示几列的参数常量
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
//设置RecycleView显示的方向是水平还是垂直 GridLayout.HORIZONTAL水平 GridLayout.VERTICAL默认垂直
gridLayoutManager.setOrientation(GridLayout.VERTICAL );
//设置布局管理器, 参数gridLayoutManager对象
recyclerRecommendProduct.setLayoutManager(gridLayoutManager);
recyclerViewGridAdapter = new RecyclerViewGridAdapter(this, carProductModels);
recyclerRecommendProduct.setAdapter(recyclerViewGridAdapter);
}