分步操作:
1.在ListView实现数据的显示(图片,text文本)
先得到ListView,然后构建适配器,最后关联适配器。
代码很简单
这里的关键是适配器的构建,这里我们是使用自己定义的适配器
这里包含了优化:convertView的重用,使我们不用每次都要创建Item,只需要创建屏幕中可以显示出来的Item,重用Item
ViewHolder类,自己定义了一个ViewHolder类,里面放Item中的View对象,(牺牲空间来得到优化)
City c=(City)getItem(position);得到position位置对应的数据
2.在1的基础上实现高亮显示
在ListView对象上添加监听器,重写onItemClick方法
在适配器中,得获得点击的是哪个Item,然后通过判断是否要高亮显示
3.既然高亮显示实现了,那么现在开始考虑如何让他做到分块,右侧导航?
a.先实现分块:分块就是把相同的类型的放入块,我们这里有在原来的基础上做了一下改进,又引入在City类中引入了一个作为块分类的属性,在得到数据时我们进行了排序
分块的布局也做了改进就是,我们又添加了一个TextView作为显示Item名的。如果Item中的Item名是他所属分类的第一个则显示,否则隐藏。
这里我们就需要找到,每个分类中的属性的第一个,通过代码
public int getPositionForSection(int section) {
for(int i=0;i<getCount();i++){
int sec=getSectionForPosition(i);
if(sec==section)return i;
}