一个超级Adapter容器——BaseContainerAdapter

它能干嘛?

最简单的解释:它可以add其他adapter

官方语言解释:该adapter可以将复杂的多条目类型进行解耦拆分,每一个(或多个)条目类型都可拆单独的adapter,更方便维护和拓展。

它用在哪?

最简单的应用场景:聊天会话列表

烧脑进阶场景:天猫、bilibili、今日头条的首页

它怎么用?

此处当然不会说了,因为:太TM长了😂

都说用于复杂页面了,如果2行解决了还叫复杂吗...

GitHub:https://github.com/weimingjue/BaseContainerAdapter

源码的MainActivity有示例教程(此处省略n行...)

 

主要实现逻辑:

        mRv.setLayoutManager(new LinearLayoutManager(this));//如果是GridLayoutManager需要提前设置好,Linear随意
        BaseContainerAdapter baseAdapter = new BaseContainerAdapter();
        mRv.setAdapter(baseAdapter.addAdapter(new TextAdapter()));
        //...
        baseAdapter.setListAndNotifyDataSetChanged(list);
    public class TextAdapter extends BaseContainerItemAdapter<RecyclerView.ViewHolder, TextBean> {

       @Override
       protected void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
           TextView tv = (TextView) holder.itemView;
           tv.setText("这是文字:" + getCurrentBean().textInfo.text);
       }

       @Override
       protected RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType, LayoutInflater inflater) {
           return new RecyclerView.ViewHolder(new AppCompatTextView(parent.getContext())) {};
       }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值