Неверный столбец _count при использовании Contacts.Groups._COUNT для получения групп контактов? - PullRequest
1 голос
/ 26 февраля 2010

Задача 1.

У меня есть этот класс:

public class ContactGroups {

    // Form an array specifying which columns to return.
    String[] projection = new String[] { Contacts.Groups._ID,
            Contacts.Groups._COUNT, Contacts.Groups.NAME, Contacts.Groups.NOTES };

    public Cursor getList(Activity act) {

        Uri contacts = Contacts.Groups.CONTENT_URI;
             // using the debugger code kills here
            Cursor managedCursor = act.managedQuery(contacts, projection, 
                null, 
                null 
             , null
                );
        return managedCursor;
    }

    public ArrayList<String> getColumnData(Cursor cur) {
        ArrayList<String> aa = new ArrayList<String>();
        if (cur.moveToFirst()) {

            String name;
            String notes;
            int nameColumn = cur.getColumnIndex(Contacts.Groups.NAME);
            int notesColumn = cur.getColumnIndex(Contacts.Groups.NOTES);

            do {
                // Get the field values
                name = cur.getString(nameColumn);
                notes = cur.getString(notesColumn);
                aa.add(name);
                // Do something with the values.

            } while (cur.moveToNext());

        }
        return aa;
    }

}

Я называю это как:

ContactGroups mGrp= new ContactGroups();
final ArrayAdapter<String> aa;
aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,mGrp.getColumnData(mGrp.getList(this)));
myListView.setAdapter(aa);

И имеющий:

<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>

Я получаю ошибку Источник не найден и ошибка Logcat

ERROR/DatabaseUtils(617): java.lang.IllegalArgumentException: Invalid column _count

Кто-нибудь знает почему?

Задача 2.

Где я могу создать группы контактов вручную?

1 Ответ

1 голос
/ 26 февраля 2010

Contacts.Groups устарела. Вы должны использовать ContactsContract .

А интересующие вас константы находятся в ContactsContract.Groups , особенно SUMMARY_COUNT для счетчика

...