关于手机联系人的中文字母排序问题

本文探讨了手机联系人排序的问题,特别是在处理中文姓名时的挑战。内容包括通过`sort_key`字段获取和排序联系人数据,特别提到小米机型的特殊情况,需要手动将中文转换为拼音进行排序。此外,提供了相应的代码片段来展示如何实现这一过程。
摘要由CSDN通过智能技术生成

现在不管是手机自带的通讯录还是一些app的通讯录都有联系人,里面的联系人大多数都是一些a-z的名称来进行排序的。还有开发者没有研究过类似的问题不知道如何来解决这个问题。那么下面我来说下 。通过查找系统的联系人数据,来获得数据,需要注意里面的一个字段sort_key,这个字段里面存着联系人的名称和转换过来的英文字母。例如,ZHANG张GUO果FENG凤。

private List<ContactInfo> getInfors() {
ContentResolver resolver = getActivity().getContentResolver();
String[] projection = { Phone.CONTACT_ID, "sort_key",
Phone.DISPLAY_NAME, Phone.NUMBER, Phone.PHOTO_ID };
Cursor cur = resolver.query(Phone.CONTENT_URI, projection, null, null,
" sort_key COLLATE LOCALIZED ASC");

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
layui是一款基于jQuery的前端UI框架,它提供了丰富的组件和样式,方便开发者快速构建美观的网页界面。如果你想要实现layui仿手机通讯录字母排序的功能,可以按照以下步骤进行: 1. 首先,在HTML页面中引入layui的相关文件: ```html <link rel="stylesheet" href="path/to/layui/css/layui.css"> <script src="path/to/jquery.js"></script> <script src="path/to/layui/layui.js"></script> ``` 2. 在HTML页面中创建一个容器,用于显示通讯录列表: ```html <div id="contactList"></div> ``` 3. 在JavaScript代码中初始化layui,并获取通讯录数据: ```javascript layui.use(['layer', 'element'], function(){ var layer = layui.layer; var element = layui.element; // 获取通讯录数据,这假设数据为一个包含姓名和首字母的数组 var contacts = [ {name: '张三', initial: 'Z'}, {name: '李四', initial: 'L'}, {name: '王五', initial: 'W'}, // 其他联系人... ]; // 对通讯录数据按首字母进行排序 contacts.sort(function(a, b){ return a.initial.localeCompare(b.initial); }); // 遍历通讯录数据,生成HTML代码并插入到容器中 var html = ''; var currentInitial = ''; for(var i = 0; i < contacts.length; i++){ var contact = contacts[i]; if(contact.initial !== currentInitial){ // 如果首字母发生变化,则添加一个标题 html += '<h2>' + contact.initial + '</h2>'; currentInitial = contact.initial; } // 添加联系人姓名 html += '<p>' + contact.name + '</p>'; } $('#contactList').html(html); }); ``` 通过以上代码,你可以实现一个简单的layui仿手机通讯录字母排序的功能。当然,具体的样式和交互效果还需要根据实际需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值