开发者社区> 问答> 正文

在安卓中创建了一个小程序去获取联系人的姓名和电话号码,为何会提示电话号码这一列不存在

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换成其他参数也可以,为什么会这样

展开
收起
爵霸 2016-03-16 13:43:47 3082 0
1 条回答
写回答
取消 提交回答
  • 加权限没?没看到你做查询的操作?

     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();
    }
    }
    }
    2019-07-17 19:03:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载