所以我们要找到办法来利用convertView的这个特性。

    首先解决convertView重复创建的问题。

    我们可以先判断convertView是否为null,如果为null,再重新创建。

if(convertView == null){
   convertView = LayoutInflater.from(context).inflate(R.layout.item_pratice, null);
}

    这解决了convertView重复创建的问题。

    当我们要使用布局中的组件时,会先通过findViewById来声明组件,这在一般的页面中没问题,但如果是一个列表,就有问题了。

    findViewById是很浪费时间的。

    findViewById要遍历View的树形结构来找到对应的id,而且这个遍历是从头到尾,所以如果该View的层级比价复杂,这个查询就比较耗时了。

    我们在布局文件中采用@+id的形式指定控件id,就会在R文件中生成一个id,也可以采用@id的形式,通过在ids文件中声明一个id。

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式