微信联系人列表点击侧边栏首字母定位到相应联系人列表的实现方法

这篇博客介绍了如何在Android应用中实现类似微信联系人列表的侧边栏功能,通过点击侧边栏字母快速定位到相应联系人。主要步骤包括在MainActivity中添加ListView,声明section数组,创建ArrayAdapter,自定义ContactAdapter并实现SectionIndexer接口,以及在MainActivity中设置侧边栏字母监听器,实现点击字母时联系人列表的定位。
摘要由CSDN通过智能技术生成

默认创建好联系人显示列表;

1,在主页activity_main添加新的listview;

  <ListView
        android:divider="@null"
        android:id="@+id/lv_sections"
        android:layout_width="18dp"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true" />

2,在mainactivity中关联此listview;

并且声明一个string类型的数组sections,用来装之后获取到的分类字母;

3,声明一个Arrayadapter;

sectionAdapter = new ArrayAdapter<String>(this,android. R.layout.simple.item, sections);

4,在 baseadapter的继承子类中实现sectionindexer;

public class ContactAdapter extends BaseAdapter implements SectionIndexer 

在该类中重写接口的方法

int ch = getSectionForPosition(position);//获得当前位置的拼音首字母是啥,这些方法是实现接口sectionindexer
// 获取该首字母应该出现的位置
int pos = getPositionForSection(ch);//再找到上面找到的首字母是在第几位首次出现的;
// 对比
if (position == pos) {
tvSection.setVisibility(View.VISIBLE);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值