萌新Android笔记---关于RecyclerView的使用感想

来人,代码伺候

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {
    private Context context;
    private List<zone> list;

    public  RecyclerViewAdapter(Context context, List<zone> list){
        this.list = list;
        this.context = context;
    }
    static class ViewHolder extends RecyclerView.ViewHolder{
        ImageView myImage;
        TextView myactivity;
        public ViewHolder(View itemView) {
            super(itemView);
            myImage = itemView.findViewById(R.id.img_main_recycler);
            myactivity = itemView.findViewById(R.id.text_main_recycler);
        }
    }
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.main_recycler_adapter,null);
        ViewHolder holder = new ViewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder( ViewHolder holder, int position) {
        final zone my_zone = list.get(position);
        holder.myactivity.setText(my_zone.getName());
        holder.myImage.setImageResource(my_zone.getImageId());


    }

    @Override
    public int getItemCount() {
        return list.size();
    }
}

public class zone {
    private String name;
    private int imageId;

    public zone(int imageId,String name){
        this.name = name;
        this.imageId = imageId;
    }
    public String getName(){
        return name;
    }
    public int getImageId(){
        return imageId;
    }
}
     LinearLayoutManager manager = new LinearLayoutManager(context);
        manager.setOrientation(RecyclerView.HORIZONTAL);
        recyclerView.setLayoutManager(manager);
        RecyclerViewAdapter adapter = new RecyclerViewAdapter(context,list);
        recyclerView.setAdapter(adapter);

萌新感悟

RecyclerView的使用大概是以上三部分内容。第一部分是适配器,第二部分是泛型,第三部分是具体逻辑实现。

  • 适配器
    每个RecyclerView都需要一个适配器,如果把recyclerView看成容器的话,适配器的作用就是填充其中的内容,<RecyclerViewAdapter.ViewHolder>规定了泛型,泛型说白了就是充当门卫,筛选需要的信息。public RecyclerViewAdapter()用于获取需要的context和数组,以此和activity真正连接到一起,既然自己规定了泛型,自然要自己写这个泛型了。ViewHolder就是内容,在onCreateViewHolder中返回所需要的ViewHolder。onBindViewHolder里包含的是对每个元素的操作,可以在这里实现对应的点击事件,或者通过position和数据库实现数据交换。。。用处良多

  • 泛型
    泛型的应用常用于多元素的包装,这里把图片和text包装到总zone里

萌新的感悟还不够深,还在继续学习。。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值