RecyclerView使用方法和添加分割线

//适配器

public class ClassifyRecyclerView extends RecyclerView.Adapter<ClassifyRecyclerView.MyViewHolder> {

    //有参构造
    private Context context;
    private ArrayList<ClassifyBean.DataBean> arr;

    public ClassifyRecyclerView(Context context, ArrayList<ClassifyBean.DataBean> arr) {
        this.context = context;
        this.arr = arr;
    }

    //绘制布局
    @NonNull
    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        View view = View.inflate(context, R.layout.classifyrecyclerview, null);
        MyViewHolder myViewHolder = new MyViewHolder(view);
        return myViewHolder;
    }

    //设置控件内容
    @Override
    public void onBindViewHolder(@NonNull final MyViewHolder holder, final int position) {
        String name = arr.get(position).getName();
        holder.classify_lefttext.setText(name);
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int cid = arr.get(position).getCid();
//                viewHolder.fenlei_left_name.setTextColor(Color.parseColor("#ff0000"));
                holder.itemView.setBackgroundColor(Color.parseColor("#ff0000"));
                holder.classify_lefttext.setTextColor(Color.parseColor("#ff0000"));
                holder.classify_lefttext.setBackgroundColor(Color.parseColor("#f0f0f0"));
                Toast.makeText(context, "点击子项"+position+"点击的id为"+cid, Toast.LENGTH_SHORT).show();

            }
        });
    }


        //集合的长度
    @Override
    public int getItemCount() {
        return arr.size();
    }

    //获取布局的看控件
    public class MyViewHolder extends RecyclerView.ViewHolder {
        private final TextView classify_lefttext;

        public MyViewHolder(View itemView) {
            super(itemView);
            classify_lefttext = itemView.findViewById(R.id.classify_lefttext);
        }
    }
}

//调用使用方法、   请求数据回来之后向适配器中传入上下文,数据源

 ClassifyBean classifyBean = new Gson().fromJson(result, ClassifyBean.class);
        String code = classifyBean.getCode();
        if(code.equals("0")){
            ArrayList<ClassifyBean.DataBean> data = (ArrayList<ClassifyBean.DataBean>) classifyBean.getData();
            // 线性布局管理器   VERTICAL默认样式/竖向显示       第三个参数是数据是否到过来显示
            LinearLayoutManager manager = new LinearLayoutManager(getContext(),LinearLayoutManager.VERTICAL,false);
//          GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), 2, GridLayoutManager.HORIZONTAL, false);
            classLeftrcv.addItemDecoration(new RecycleViewDivider());
            classLeftrcv.setLayoutManager(manager);
            //添加Android自带的分割线
            classLeftrcv.addItemDecoration(new DividerItemDecoration(getContext(),DividerItemDecoration.VERTICAL));
            //设置适配器
            classLeftrcv.setAdapter(new ClassifyRecyclerView(getContext(),data));

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值