我正在建立一个活动,我希望填充有电话号码的联系人.
我没有使用Intent,因为我希望在listview中的每个联系人之前都有一个复选框.
我正在使用CursorLoader.以下是onCreateLoader方法的一些代码;
String projection[] = new String[]{ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME};
Uri uri = ContactsContract.Data.CONTENT_URI;
String selection = ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1" +
" AND " + ContactsContract.Contacts.IN_VISIBLE_GROUP + " =1";
String order = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
CursorLoader loader = new CursorLoader(this, uri, projection, selection, null, order);
Run Code Online (Sandbox Code Playgroud)
我在我的ListView中使用了ResourceCursorAdapter的子类.
有没有人有任何想法我如何删除重复?除非我真的需要,否则我不想使用Set.
我建议查询Contacts表而不是原始Data表.
Uri uri = ContactsContract.Contacts.CONTENT_URI;
Run Code Online (Sandbox Code Playgroud)
数据表包含原始联系人数据,这可能意味着同一"人"的多个条目,因为Android联系人是从多个不同的帐户来源汇总的.其他一切看起来都不错.
| 归档时间: |
|
| 查看次数: |
2415 次 |
| 最近记录: |