实现RecyclerView的可复用Adapter

已经有好几天么有更新了,为考试准备了几天时间,现在考完了可以重操旧业了哈哈!

虽然之前已经写过这篇文章了,但是刚刚翻看了一下自己写过的旧文章,发现这篇写的非常的烂头-。=,而且里面有一个问题没有说的明白,所以决定重新写一下,也为了自己能够再熟悉一下。


下面进入正题:

可复用适配器基本原理

相信大家都是用过RecyclerView,作为一个很常用的数据展示类控件,大家都知道其最为核心的地方就在于适配器的编写了。(之后我会在博客中补充一篇RecyclerView的详细使用的博客),编写适配器的步骤主要分为以下几个步骤:

  1. 创建View布局
  2. 绑定View布局中的控件
  3. 添加数据

而在必要的时候,我们会通过ViewHolder去实现以上步骤。

其中1对应的是RecyclerView中的onCreateViewHolder方法,2对应的是RecyclerView的onBindViewHolder方法。当然RecyclerView还有一个getItemCount方法需要重写,但是不在本篇重点考虑中。

在以往我们每次写一个RecyclerView,都需要写一个适配器,其实就是因为我们每次的RecyclerView条目(也就是需要在RecyclerView中创建的布局)不同,因为是已经写死了的,所以无法更改。

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(mContext).inflate(R.layout.rv_layout, parent, false);
        return new MyViewHolder(view);
    }
    class static MyViewHolder extends RecyclerView.ViewHolder {

        TextView mTv;

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

例如上面,就是一个典型的RecyclerView适配器的写法。在适配器中,我们固定了布局id和控件类型,所以只能给一种适配。

假如说一个适配器类没有写死布局,那么他就可以对各种布局中的控件进行绑定(findViewById)了。这就是可复用适配器的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值