AlphabetIndexer字母索引器



   AlphabetIndexer,实现了SectionIndexer接口,
是adapter的一个辅助类,辅助实现在快滑时,显示索引字母。
   使用字母索引的话,必须保证数据列表是按字母顺序排序,以便AlphabetIndexerh采用二分查找法快速定位。

/**
* Cursor表示数据游标
* sortedColumnIndex数据集合中的第几列
* alphabet字母列表,用的最多的是"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
**/
public AlphabetIndexer(Cursor cursor, int sortedColumnIndex, CharSequence alphabet) {}

  用到3个方法:

//这三个方法,实现了索引数据和列表数据的对应和定位
public int getPositionForSection(int section) {}
public int getSectionForPosition(int position) {}
public Object[] getSections() {}

3.游标Cursor的实现
     Cursor接口的实现,有两种选择:
     (1).直接使用数据库查询返回的cursor
     (2).自定义实现Cursor接口的新类
     第一种方式很简单,查询一下数据库返回Cursor即可。
     这里我们以第二种方式实践,伪装一个Cursor,主要是实现3个方法:
     (1).getCount()
     (2). moveToPosition()
     (3). getString()

你可能感兴趣的:(AlphabetIndexer字母索引器)