Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Max_92
25 / 7 / 1
Регистрация: 26.04.2010
Сообщений: 205
#1

Контакты и CursorLoader

12.03.2014, 21:25. Просмотров 805. Ответов 0
Метки нет (Все метки)

Задача следующая: в одном query получить курсор, в котором будет набор данных со всеми контактами, содержащий _id, display_name, email, photo. делаю следующий запрос с вот таким URI:
Java
1
2
3
4
5
6
getContentResolver()
                .query(CONTACT_URI,
                null,
                        Data.MIMETYPE + "=? OR " + Data.MIMETYPE + "=?",
                        new String[] { Email.CONTENT_ITEM_TYPE,
                                Phone.CONTENT_ITEM_TYPE }, Data.CONTACT_ID);
Есть две траблы:
1. При построении списка (mAdapter.swapCursor(data) получаю дублирующиеся контакты, а точнее контакты с одинаковыми именами и разными полями "data1". Т.е. всё неудобство в том, что "data1" это одновременно и CommonDataKinds.Email.ADDRESS и CommonDataKinds.Phone.NUMBER, из-за чего в результате запроса получаются два таких контакта: один с email, другой с номером. В случае, если есть email, но нет номера или наоборот - всё нормально. Вопрос: как подредактировать этот запрос, чтобы получить правильный набор данных?
2. Поскольку адаптер выглядит вот так:
Java
1
2
3
4
5
6
7
mAdapter = new SimpleCursorAdapter(MainActivity.this,
                R.layout.contacts_list_item, null, new String[] {
                        "display_name", "data1",
                        CommonDataKinds.Photo.PHOTO_URI }, new int[] {
                        R.id.textview_name, R.id.textview_email,
                        R.id.imageview_photo });
        contactsListView.setAdapter(mAdapter);
то при подставлении туда курсора, в котором для какой-то записи CommonDataKinds.Photo.PHOTO_URI нулевой, соответствующий пункт списка будет без картинки, т.е. предыдущий drawable, который задан в разметке для ImageView в src, затрётся и картинки просто не будет. Т.е. как сделать, чтобы при отсутствии фотки оставалась дефолтная картинка?
3. Если картинки и есть, то они слишком маленькие (хотя дефолтный drawable изначально выглядит как надо). Как их растянуть?

Добавлено через 30 минут
забыл пояснить: CONTACT_URI - это ContactsContract.Data.CONTENT_URI

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2014, 21:25
Ответы с готовыми решениями:

CursorLoader+SQLite
Добрый день! подскажите пожалуйста какого вида должны быть следующие строки...

CursorLoader и фрагмент
Возникла проблема. Используя в фрагменте CursorLoader в методе...

Прикручиваем filter к listview c CursorLoader
Привет ребятушки. Значит у меня есть база данных, ListView, CursorLoader....

Читаются ли контакты с Viber
Есть контент провайдер content://com.viber.provider.vibercontacts но ясно без...

Как получить контакты?
вот мой код package com.example.app; import android.app.ListActivity;...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2014, 21:25

Контакты с гугл аккаунта
Используя контент провайдер получаю список контактов у которых есть дни...

Как сохранить контакт из моей БД в телефонные контакты?
У меня есть приложение, в которое заносятся клиенты и сохраняются в мою базу...

Если контакты сохранены на сим карте,то не отображается
Здравствуйте! Собственно по сабжу: как сделать, что бы приложение видело...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru