之前在学习电话本检索功能时,意外看有大神用AlphabetIndexer类来进行按字母的排序检索,用起来感觉特别爽,所以觉得对它进行详细学习与分享
类概述:
该类实现了 SectionIndexer 接口的适配器的辅助类.如果适配器使用简单的基于字母的排序方式,该类提供了使用二进制检索来对项目数巨大的列表进行快速索引的方法
公共构造方法:
AlphabetIndexer( Cursor cursor, int sortedColumnIndex, CharSequence alphabet)
第一个参数是cursor:数据库查出的游标
第二个参数是sortedColumnIndex整型:排序的列
第三个参数是alphabet字符串:alphabet则是指定字母表排序规则,比如:"ABCDEFGHIJKLMNOPQRSTUVWXYZ"。
公有方法:
int | getPositionForSection(int sectionIndex)
Performs a binary search or cache lookup to find the first row that matches a given section's starting letter.
|
int | getSectionForPosition(int position)
|