Android adapter设计模式二:使用base-adapter-helper

一、概述:

—————————————————–

(java 架构师全套教程,共760G, 让你从零到架构师,每月轻松拿3万)
请加微信号:charlinsir, 下载请用百度盘
目录如下:
01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
(送:hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门)
01内容:
这里写图片描述

—————————————————–
base-adapter-helper 是对我们传统的BaseAdapter的ViewHolder的模式的一个抽象。主要功能就是简化我们在书写AbsListView,例如ListView,GridView的Adapter的代码。

特点

提供QucikAdapter,极大简化我们的代码。
BaseAdapterHelper中封装了大量用于为View操作的辅助方法,例如从网络加载图片:

helper.setImageUrl(R.id.iv_photo, item.getPhotoUrl());

1.base-adapter-helper下载地址:
https://github.com/hongyangAndroid/base-adapter-helper

2、使用方法:

private void initDatas() {
        mDatas = new ArrayList<Person>();
        for (int i = 0; i < Cheeses.NAMES.length; i++) {
            Person person = new Person(Cheeses.NAMES[i]);
            mDatas.add(person);
            Collections.sort(mDatas);
            //Collections.sort(mDatas, comparator);
        }
    }
private void initViews() {
        mListView = (ListView) findViewById(R.id.lv_index);
        mAdapter.addAll(mDatas);
        mListView.setAdapter(mAdapter); 

    }

private QuickAdapter<Person> mAdapter = new QuickAdapter<Person>(this, R.layout.item_quickindex) {
        @Override
        protected void convert(BaseAdapterHelper helper, Person item) {
            //开始分组
            String str = null;
            String currentLetter = item.getPinyin().charAt(0) + "";
            // 根据上一个首字母,决定当前是否显示字母
            int position = helper.getPosition();
            if(position == 0){
                str = currentLetter;
            }else {
                // 上一个人的拼音的首字母
                String preLetter = mDatas.get(position - 1).getPinyin().charAt(0) + "";
                if(!TextUtils.equals(preLetter, currentLetter)){
                    str = currentLetter;
                }
            }

            // 根据str是否为空,决定是否显示索引栏
            helper.setVisible(R.id.tv_index, str == null ? false:true);
            helper.setText(R.id.tv_index, currentLetter);
            helper.setText(R.id.tv_name, item.getName());
        }
    };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lovoo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值