Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
Red Planet
49 / 10 / 2
Регистрация: 20.09.2009
Сообщений: 263
#1

Преобразование имени контакта в строку - Android

16.06.2011, 12:43. Просмотров 2071. Ответов 1
Метки нет (Все метки)

Добрый день! С помощью примера из SDK извлек имена контактов.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private Cursor getContacts() {
        // Run query
        Uri uri = ContactsContract.Contacts.CONTENT_URI;
        String[] projection = new String[] {
            ContactsContract.Contacts._ID,
            ContactsContract.Contacts.DISPLAY_NAME
    };
        
    String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP;
    String[] selectionArgs = null;
    String sortOrder = ContactsContract.Contacts.DISPLAY_NAME;
 
    return managedQuery(uri, projection, selection, selectionArgs, sortOrder);
}
Вывел в ListView.
Java
1
2
3
4
5
6
7
8
9
10
11
private void populateContactList() {
        // Build adapter with contact entries
        Cursor cursor = getContacts();
        String[] fields = new String[] {
            ContactsContract.Data.DISPLAY_NAME
        };
 
        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.contact_entry, cursor,
            fields, new int[] {R.id.contactEntryText});
        mContactList.setAdapter(adapter);
}
onCreate моей активити.
Java
1
2
3
4
5
6
7
8
9
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contact_manager);
        
        mContactList=(ListView) findViewById(R.id.contactList);      
        
        // Show contacts.
        populateContactList();
}
Как вытащить из ListView имена контактов и преобразовать их в строки? Мало опыта, что в самом Java, что в Java под Android, читать документацию бывает трудно, так как много непонятно, а программу нужно завершить.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2011, 12:43     Преобразование имени контакта в строку
Посмотрите здесь:

Android Преобразование R.string.* в строку
Как получить данные контакта из Contact Provider Android
Подключение стандартного окна редактирования контакта Android
Недопустимый символ в имени файла Android
Android Глючит получение id группы по id контакта телефонной книги
Android Выбор нужного номера телефона у контакта
Android Регулярка в имени кнопки или id
Android Объявление static без имени
Русские буквы в имени ресурса Android
Отображение имени трека Android
Как обратиться к объекту по имени со строки? Android
Как обратиться к свойствам View по имени? Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Red Planet
49 / 10 / 2
Регистрация: 20.09.2009
Сообщений: 263
21.06.2011, 16:15  [ТС]     Преобразование имени контакта в строку #2
Помогли на другом форуме. Если у кого-либо будет такая же задача, то решается она так.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
public class ContactManager extends Activity implements OnClickListener {
    ListView lvOfConts;
    Cursor cur;
    CursorAdapter curAd;
    EditText etIn;
    Button butComp;
    ListView lvOfEqs = null;
    TextView twFound;
    ArrayList<String> listOfNames = new ArrayList<String>();
 
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contact_manager);
        
        lvOfEqs = (ListView)findViewById(R.id.lveqs);
        etIn = (EditText)findViewById(R.id.etin);
        butComp = (Button)findViewById(R.id.butcomp);
        butComp.setOnClickListener(this);
        twFound = (TextView)findViewById(R.id.tweqs);
        twFound.setVisibility(4);
        
        lvOfConts = (ListView)findViewById(R.id.lv_all_conts);
        
        cur = getContentResolver().query(
                ContactsContract.Contacts.CONTENT_URI,
                null, null, null, ContactsContract.Contacts.DISPLAY_NAME);
     
            curAd = new SimpleCursorAdapter(this,
                android.R.layout.test_list_item,
                cur, 
                new String[] { ContactsContract.Contacts.DISPLAY_NAME },
                new int[] { android.R.id.text1 });
     
        lvOfConts.setAdapter(curAd);
        
        cur.moveToFirst();
        for (int i=0; i<curAd.getCount(); cur.moveToPosition(++i))
            listOfNames.add(cur.getString(cur.getColumnIndex(ContactsContract.Data.DISPLAY_NAME)));
    }
}
Не знаю, хорошее решение или плохое, так как сам только учусь. Может быть, какие-то данные лишние. Нет времени разбираться, просто скопировал рабочий код.
Yandex
Объявления
21.06.2011, 16:15     Преобразование имени контакта в строку
Ответ Создать тему
Опции темы

Текущее время: 08:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru