按字母加载联系人的数

一、源码

			Uri uri = Phone.CONTENT_URI
					.buildUpon()
					.appendQueryParameter(Data.EXTRA_ADDRESS_BOOK_INDEX, "true")
					.build();
			Cursor cursor = getContentResolver().query(uri,
					new String[] { Phone.DISPLAY_NAME, Phone.NUMBER }, null,
					null, Contacts.SORT_KEY_ALTERNATIVE);
			Bundle bundle = cursor.getExtras();
			if (bundle.containsKey(Data.EXTRA_ADDRESS_BOOK_INDEX_TITLES)
					&& bundle.containsKey(Data.EXTRA_ADDRESS_BOOK_INDEX_COUNTS)) {
				String sections[] = bundle
						.getStringArray(Data.EXTRA_ADDRESS_BOOK_INDEX_TITLES);
				int counts[] = bundle
						.getIntArray(Data.EXTRA_ADDRESS_BOOK_INDEX_COUNTS);
				int total = 0;
				for (int i = 0; i < sections.length; i++) {
					Log.e("abc", "section:" + sections[i] + ":" + counts[i]);
					total += Integer.valueOf(counts[i]);
				}
				// cursor.moveToPosition(arg0)
				Log.e("abc", "cnt:" + total + ":" + cursor.getCount());
			}
			cursor.moveToFirst();
			do {
				int index = cursor.getColumnIndex(Phone.DISPLAY_NAME);
				int num = cursor.getColumnIndex(Phone.NUMBER);
				Log.e("abc",
						"name:" + cursor.getString(index) + ":"
								+ cursor.getString(num));
			} while (cursor.moveToNext());

		}



二、解析

第三行:appendQueryParameter(Data.EXTRA_ADDRESS_BOOK_INDEX, "true",就是告诉contentProvider需要额外加入字母索引到cursor

第11--14行,就是获取出所有字母索引及个数


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值