Как заполнить поле списка результатами из поля автозаполнения с помощью Blackberry API - PullRequest
0 голосов
/ 11 февраля 2010

Как заполнить поле списка в blackberry результатами из поля автозаполнения, используя Blackberry API (JDE 5)

Ответы [ 2 ]

1 голос
/ 04 мая 2011

Это код для получения контактов, возвращает вектор, содержащий строковый массив. контакт [0] это имя, контакт [1] это электронная почта, а контакт [2] это контактный номер

чтение элементов из вектора и установка autocompleteField: Пример: http://docs.blackberry.com/en/developers/deliverables/18125/Autocomplete_text_field_1200231_11.jsp

private Vector getContacts() {
        Vector result = new Vector();
        try {
            BlackBerryContactList contactList = (BlackBerryContactList) PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY);
            Enumeration enumx = contactList.items();
            while (enumx.hasMoreElements()) {
                BlackBerryContact c = (BlackBerryContact) enumx.nextElement();
                String[] contact = new String[3];
                if (contactList.isSupportedField(BlackBerryContact.NAME)) {
                    String[] name = c.getStringArray(BlackBerryContact.NAME, 0);
                    String firstName = name[Contact.NAME_GIVEN];
                    String lastName = name[Contact.NAME_FAMILY];
                    System.out.println("this is contact..........." + firstName);
                    contact[0] = firstName + " " + lastName;
                }
                if (contactList.isSupportedField(BlackBerryContact.EMAIL)) {
                    StringBuffer emails = new StringBuffer();
                    int emailCount = c.countValues(BlackBerryContact.EMAIL);
                    for (int i = 0; i < emailCount; i++) {
                        String email = c.getString(BlackBerryContact.EMAIL, i);
                        if (email != null) {
                            emails.append(email.trim());
                            emails.append("; ");
                        }
                    }
                    contact[1] = emails.toString();
                }
                if ((contactList.isSupportedField(BlackBerryContact.TEL)) && (c.countValues(BlackBerryContact.TEL) > 0)) {
                    int numValues = 0;
                    try {
                        numValues = c.countValues(BlackBerryContact.TEL);
                    } catch (Exception localException) {
                    }
                    String mobileNumber = "";
                    String homeNumber = "";
                    String workNumber = "";
                    for (int i = 0; i < numValues; ++i) {
                        if (c.getAttributes(BlackBerryContact.TEL, i) == BlackBerryContact.ATTR_WORK)
                            workNumber = c.getString(BlackBerryContact.TEL, i);
                        else if (c.getAttributes(BlackBerryContact.TEL, i) == BlackBerryContact.ATTR_HOME)
                            homeNumber = c.getString(BlackBerryContact.TEL, i);
                        else if (c.getAttributes(BlackBerryContact.TEL, i) == BlackBerryContact.ATTR_MOBILE)
                            mobileNumber = c.getString(BlackBerryContact.TEL, i);
                    }
                    if (!mobileNumber.equalsIgnoreCase(""))
                        contact[2] = mobileNumber.toString();
                    else if (!homeNumber.equalsIgnoreCase(""))
                        contact[2] = homeNumber.toString();
                    else if (!workNumber.equalsIgnoreCase(""))
                        contact[2] = workNumber.toString();
                }
                result.addElement(contact);
            }
        } catch (PIMException ex) {
            ex.printStackTrace();
        }
        return result;
    }
0 голосов
/ 11 февраля 2010

Существует пример приложения с инструментами разработчика, который демонстрирует использование этого поля. Из каталога инструментов разработчика перейдите по ссылке samples / com / rim / samples / device / ui / autocompletefielddemo, и вы увидите приложение AutoCompleteFieldDemo.java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...