ListAdapter adapter = new SimpleCursorAdapter(this,
//定义List中每一行的显示模板
//表示每一行包含两个数据项
android.R.layout.simple_list_item_2,
//数据库的Cursor对象
cursor,
//从数据库的Name额Number两列中取数据
new String [] {PhoneLookup.DISPLAY_NAME,PhoneLookup.NUMBER},
//与name和number对应的views
new int[] {android.R.id.text1,android.R.id.text2});
把PhoneLookup.NUMBER和android.R.id.text2删除之后就可用了
或者把NUMBER换成其他参数也可以,为什么会这样
加权限没?没看到你做查询的操作?
Cursor cursor = null;
try {
// 查询联系人数据
cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
while (cursor.moveToNext()) {
// 获取联系人姓名
String displayName = cursor.getString(cursor.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
// 获取联系人手机号
String number = cursor.getString(cursor.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.NUMBER));
contactsList.add(displayName + "\n" + number);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (cursor != null) {
cursor.close();
}
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。