listview的美化和优化
在android开发中,listview是比较常用的一个组件,它以列表的形式显示数据。列表显示需要三个元素:
1、listview用来显示具体列表的view
2、XXAdapter适配器用来把具体的数据映射到listview
3、具体需要展示的数据,比如文字,图片,按钮等组件
?
listview的适配器类型主要分为三种:ArrayAdapter、SimpleAdapter、SimpleCursorAdapter。
ArrayAdapter比较简单,只能显示一行文字,SimpleAdapter扩充性很好,可以自己定义出很多种效果,SimpleCursorAdapter可以和数据库很好的结合,把数据库中的表的内容展示到列表上。
?
有些时候,由于我们需要展示的数据量很大,而且也需要美化显示的效果,这时我们就需要自定义一个适配器,只需继承BaseAdapter,实现它的四个方法。listview在开始绘制的时候,首先调用getCount()方法,得到需要绘制的item数量,再调用getView绘制每一个item,每调用一次getView都会实例化一个view对象,因此对于显示大量数据的时候,必须进行优化。下面是一个小例子,getView方法对listview进行了一定的优化,当listview的某一项被选择或者点击时,更换该项的背景图片。源码如下:
ListViewActivity.java
?
?
?
?list_row.xml
?
??
?
效果图见附件
?
好多冗余代码:o好多冗余代码:o,roomListView.setOnItemSelectedListener(...)这段代码可以去掉的
,roomListView.setOnItemSelectedListener(...)这段代码可以去掉的