【发布时间】:2012-11-26 12:01:09
【问题描述】:
在我的应用程序 (android 4.0) 中,我需要从联系人那里检索地址。我在这里使用了另一篇文章中提供的解决方案:
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
String city = c.getString(c.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY));}
但是当我尝试执行这个时,我得到一个错误:
"从有 1 行 29 列的 CursorWindow 读取第 0 行第 -1 列失败。 "
我在这里做错了什么?为什么他没有找到城市列?
【问题讨论】:
-
光标中没有名为
ContactsContract.CommonDataKinds.StructuredPostal.CITY的列 -
那么获取地址的“Mimetype”是什么? “ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS”也不起作用,虽然它似乎在这里工作:link
-
尝试使用该链接中的 Thorstenvv 答案
标签: android cursor uri contactscontract