Как получить выбранный элемент в виде строки в Blackberry AutoCompleteField? - PullRequest
3 голосов
/ 17 февраля 2010

Как получить выбранный элемент в виде строки при использовании поля автозаполнения Blackberry. Я могу получить выбранный индекс в настоящее время. Я переопределяю метод onSelect в классе AutoCompleteField, как описано в

API для автозаполнения классов JDE 5.0

Фрагмент кода ниже -

AutoCompleteField autoCompleteField = new AutoCompleteField(filterList)
{
     public void onSelect(Object selection, int SELECT_TRACKWHEEL_CLICK) {
         ListField _list = getListField();
         if (_list.getSelectedIndex() > -1) {
             Dialog.alert("You selected: "+_list.getSelectedIndex());
             // get text selected by user and do something...
         }
     }
};

Ответы [ 2 ]

4 голосов
/ 17 февраля 2010

Реализация по умолчанию AutoCompleteField # onSelect (Object, int) устанавливает текст параметра AutoCompleteFieldEditField объекта AutoCompleteField в параметр select. Таким образом, вы можете запросить строку таким образом. Вот фрагмент того, что я имею в виду:

AutoCompleteField autoCompleteField = new AutoCompleteField(filterList)
{
     public void onSelect(Object selection, int type) {
         super.onSelect(selection, type);
         if(selection != null) {
             String selectionAsString = getEditField().getText();
             // Do whatever else you need to do with the String.
         }
     }
};
3 голосов
/ 17 февраля 2010
  /*  
onSelect

    protected void onSelect(Object selection,
                            int type)

    Parameters:
    *selection - The selected item*
    type - The method of selection. This will be one of SELECT_TRACKWHEEL_CLICK SELECT_TRACKBALL_CLICK SELECT_ENTER

*/

BasicFilteredList filterList = new BasicFilteredList();
        String[] days = {"Monday","Tuesday","Wednesday",
                         "Thursday","Friday","Saturday","Sunday"};
        filterList.addDataSet(1,days,"days",BasicFilteredList.COMPARISON_IGNORE_CASE);

        AutoCompleteField autoCompleteField = new AutoCompleteField(filterList){
            protected void onSelect(Object selection, int type) {
                BasicFilteredListResult result = (BasicFilteredListResult) selection;
                Dialog.alert("You selected: "+ result._object);
                super.onSelect(selection, type);
            }
        };
        add(autoCompleteField);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...