无法从CursorWindow读取第0行,第-1列

时间:2014-06-03 22:49:45

标签: android android-cursor

我尝试找到一些手机联系人并在我的应用中显示,但我收到错误:

Failed to read row 0, column -1 from a CursorWindow which has 370 rows, 38 columns.

这是我的代码:

Cursor contacts = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);  
        String aNumberFromContacts[] = new String[contacts.getCount()];  
        int i = 0;

        int numberFieldColumnIndex = contacts.getColumnIndex(PhoneLookup.NUMBER);

        while(contacts.moveToNext()) {

            String number = contacts.getString(numberFieldColumnIndex);
            aNumberFromContacts[i] =    number ;
        i++;
        }

        contacts.close();

你能猜出出了什么问题吗?

1 个答案:

答案 0 :(得分:0)

负数意味着您要查找的列不存在。尝试使用1,如果没有崩溃,那么你可以放心,问题在于获取列索引。 试试这个:

contacts.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)