Я хочу добавить поле поиска в поле списка. так что, Когда я Вводя письмо, тогда он будет показывать имена, начинающиеся с буквы «А», и так далее. Iam с помощью Vector для сохранения списка контактов, таких как показанное изображение: Blackberry, поиск контактов из списка
ответ
Установите 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
}
}
Если вы хотите, чтобы выбрать один из контактов, используйте метод ContactList.choose()
.
НЕ пытайтесь каждый раз перебирать все контакты самостоятельно. Помните, что много людей, имеющих тысячи контактов, и ваш код будет очень невосприимчивым.
См: https://stackoverflow.com/a/4436816/371534
Однако, если вы хотите иметь «фильтра, как вы тип» такой функциональности с некоторыми другими данными, используйте KeywordFilterField
. Вы можете получить образец кода для него в образцах BlackBerry JDK.