2013-07-24 2 views
0

Я хочу добавить поле поиска в поле списка. так что, Когда я Вводя письмо, тогда он будет показывать имена, начинающиеся с буквы «А», и так далее. Iam с помощью Vector для сохранения списка контактов, таких как показанное изображение: enter image description hereBlackberry, поиск контактов из списка

ответ

0

Установите FieldChangeListener (или прослушивайте буквенно-цифровые нажатия клавиш) на свой EditField. Затем обновляйте список каждый раз. Фильтрация записей, начинающихся со строки, содержащейся в EditField.

Я написал это на ПК без установленного плагина Blackberry, поэтому не смог проверить его, но это должно быть что-то вроде этого.

String prefix = editField.getText(); 
Enumeration e = list.items(); 
while(e.hasMoreElements()) 
{ 
    PIMItem item = (PIMItem) e.nextElement(); 
    String name = item.getString(PIMItem.NAME,0); 
    if (name.startsWith(prefix)) 
    { 
     //TODO display on screen 
    } 
} 
1

Если вы хотите, чтобы выбрать один из контактов, используйте метод ContactList.choose().

НЕ пытайтесь каждый раз перебирать все контакты самостоятельно. Помните, что много людей, имеющих тысячи контактов, и ваш код будет очень невосприимчивым.

См: https://stackoverflow.com/a/4436816/371534

Однако, если вы хотите иметь «фильтра, как вы тип» такой функциональности с некоторыми другими данными, используйте KeywordFilterField. Вы можете получить образец кода для него в образцах BlackBerry JDK.

Смежные вопросы