前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 学习笔记--android——listview总结

Android 学习笔记--android——listview总结

作者头像
程序员小何SS
发布2021-11-27 16:23:12
4220
发布2021-11-27 16:23:12
举报
文章被收录于专栏:Android理论Android理论

总结listview: 1、创建-->高度match 2、创建-->行布局 3、找到listview控件 4、初始化数据 5、创建适配器对象 baseAdapter getview :决定了显示的样式以及内容 查找当前布局对象里面的控件 行布局对象.findviewById() getCount :决定listview的显示行数 6、设置适配器

listview优化:

1、用完全消失的布局对象去替代即将出现的那个布局对象 复用行布局对象 convertView

代码语言:javascript
复制
    View inflate = null;
    // convertView用来保存完全消失的那个布局对象
    if(convertView==null){
        // 把布局xml文件转换成布局对象
        // 得到布局转换器
        LayoutInflater layoutInflater = getLayoutInflater();
        // 通过布局转换器把xml文件转换成布局对象
        inflate = layoutInflater.inflate(R.layout.ssa, null);
    }else{
        //用完全消失的布局对象去替代即将出现的那个布局对象
        inflate = convertView;    
    }

2、减少控件的查找次数 //创建一个类,类里面的属性就是我们所需的控件 //声明一个ViewHolder对象 ViewHolder holder = null;

代码语言:javascript
复制
        if (convertView == null)
        {   
            holder = new ViewHolder();
            // 把布局xml文件转换成布局对象
            // 得到布局转换器
            LayoutInflater layoutInflater = getLayoutInflater();
            // 通过布局转换器把xml文件转换成布局对象
            inflate = layoutInflater.inflate(R.layout.ssa, null);
            //找到控件对象,然后保存到holder对象里面去
            holder.textView1 = (TextView) inflate.findViewById(R.id.textView1);
            holder.textView2 = (TextView) inflate.findViewById(R.id.textView2);
            //把holder放到inflate包里面去
            inflate.setTag(holder);
        }
        else
        {   
            // 用完全消失的布局对象去替代即将出现的那个布局对象
            inflate = convertView;  
            //从inflate对象的包里面得到holder
            holder = (ViewHolder) inflate.getTag();
        }

注·:文章来自51CTO博客作者Samuel_humg

本文系转载,前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com