关键在于共同特征的第一个出现的对象的位置确定
逻辑:
接收一个对象的在对象群中的位置,得到所具有 特征值在特征群中的位置(块号)
找到具有 特征值在特征群中的位置(块号) 的第一个对象的在对象群中的位置
判断在对象群中的位置是否相同,相同则显示,不相同则隐藏
具体实现:
Adapter实现SectionIndexer接口
getSectionForPosition 得到 所具有共同的特征值在特征群中的位置(块号)
return get(position).getSortkey().charAt(0)
getPositionForSection 得到 第一个出现的 块号 对象位置
for循环遍历所有对象 得到块号
当块号一致时 返回一致的对象块号
比较块号一致
继承BaseAdapater
getCount 返回数据量
getItem 返回该位置的数据
getItemId 直接返回position
getView
1 convertView = View.inflate(context,resource,null)
2 获得XML中控件使用findViewById
3 设置内容
逻辑:
接收一个对象的在对象群中的位置,得到所具有 特征值在特征群中的位置(块号)
找到具有 特征值在特征群中的位置(块号) 的第一个对象的在对象群中的位置
判断在对象群中的位置是否相同,相同则显示,不相同则隐藏
具体实现:
Adapter实现SectionIndexer接口
getSectionForPosition 得到 所具有共同的特征值在特征群中的位置(块号)
return get(position).getSortkey().charAt(0)
getPositionForSection 得到 第一个出现的 块号 对象位置
for循环遍历所有对象 得到块号
当块号一致时 返回一致的对象块号
比较块号一致
继承BaseAdapater
getCount 返回数据量
getItem 返回该位置的数据
getItemId 直接返回position
getView
1 convertView = View.inflate(context,resource,null)
2 获得XML中控件使用findViewById
3 设置内容