我正在尝试使用RawContacts.entityIterator读取所有联系人,但我看到了这个错误:
android.database.Cursorindexoutofboundsexception:索引-1请求
以下是我的代码:
ContentResolver cr = getContentResolver(); Cursor cur = cr.query(Contacts.CONTENT_URI,null,null); String id = cur.getString(cur.getColumnIndex(Contacts._ID)); if (cur.getCount() > 0) { while (cur.movetoNext()) { final Uri uri = RawContactsEntity.CONTENT_URI; final String selection = Data.CONTACT_ID + "=?"; final String[] selectionArgs = new String[] {id}; final Map<String,List<ContentValues>> contentValuesListMap = new HashMap<String,List<ContentValues>>(); EntityIterator entityIterator = null; entityIterator = RawContacts.newEntityIterator(cr.query( uri,selection,selectionArgs,null)); while (entityIterator.hasNext()) { Entity entity = entityIterator.next(); for (NamedContentValues namedContentValues : entity.getSubValues()) { ContentValues contentValues = namedContentValues.values; String key = contentValues.getAsstring(Data.MIMETYPE); if (key != null) { List<ContentValues> contentValuesList = contentValuesListMap.get(key); if (contentValuesList == null) { contentValuesList = new ArrayList<ContentValues>(); contentValuesListMap.put(key,contentValuesList); } contentValuesList.add(contentValues); } } } Log.i(tag,"Contact index=" + id); } }
有人可以告诉我我的代码有什么问题.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。