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

2021-11-27 16:23:12 浏览数 (1)

总结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

0 人点赞