RecyclerView之GridView实现

/**
 * 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);
    }

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值