Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Max_92
25 / 7 / 2
Регистрация: 26.04.2010
Сообщений: 205
#1

Контакты и CursorLoader - Программирование Android

12.03.2014, 21:25. Просмотров 792. Ответов 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 (Программирование Android):

CursorLoader и фрагмент - Программирование Android
Возникла проблема. Используя в фрагменте CursorLoader в методе "onLoadFinished()" падает ошибка "Failed to read row 0, column -1 from a...

CursorLoader+SQLite - Программирование Android
Добрый день! подскажите пожалуйста какого вида должны быть следующие строки в которых использовался Cursor, если пользоваться...

Прикручиваем filter к listview c CursorLoader - Программирование Android
Привет ребятушки. Значит у меня есть база данных, ListView, CursorLoader. Подскажите как прикрутить фильтр к этому всему. Делал так:...

Как получить контакты? - Программирование Android
вот мой код package com.example.app; import android.app.ListActivity; import android.database.Cursor; import...

Контакты с гугл аккаунта - Программирование Android
Используя контент провайдер получаю список контактов у которых есть дни рождения. Этот список вывожу в виджет. Получаю 5, 10 строк не...

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

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

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

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

Передача контактов стандартному приложению "Контакты" - Программирование Android
Мое приложение имеет контакты, я бы хотел передавать контакты из моего приложения в стандартное приложение контакты в Android. По типу...

Контакты) - Web-дизайн
Люди,дайте контактные данные кто-нибудь!Скайп например,а то объяснять долго!


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

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

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