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

listview优化:

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

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;

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();
}

更多相关文章

  1. Android学习笔记之——UI设计
  2. Android(安卓)使用selector改变按钮状态实例详解
  3. Android(安卓)-- 设置textview文字居中或者控件居中
  4. Android(安卓)Message源码阅读
  5. Android上下文对象Context
  6. Animations使用 (四)
  7. android平台解析epub格式的书籍信息
  8. Android之fill_parent和wrap_content
  9. IntentService通过HandlerThread单独开启一个线程来处理所有Inte

随机推荐

  1. Unity接入Android广告: 二、将Aar包放入Un
  2. android 模拟器横竖屏切换
  3. 一个Android应用程序App中存在多少个Cont
  4. android 反编译的一点思路
  5. Google Android Market电子市场/应用商店
  6. android handler 简介
  7. Android清除本地数据缓存代码
  8. Android之背景图片设置为重复而不是默认
  9. Android评分条控件RatingBar自定义背景颜
  10. android调节屏幕亮度