【问题标题】:How to get the selected item as String in a Blackberry AutoCompleteField?如何在 Blackberry AutoCompleteField 中将所选项目作为字符串获取?
【发布时间】:2011-05-05 13:38:18
【问题描述】:

如何在使用 Blackberry 自动完成字段时将所选项目作为字符串获取。我目前能够获得选定的索引。我正在覆盖 AutoCompleteField 类中的 onSelect 方法,如

中所述

Autocomplete Class Reference 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...
         }
     }
};

【问题讨论】:

    标签: blackberry


    【解决方案1】:

    AutoCompleteField#onSelect(Object, int) 的默认实现将 AutoCompleteField 对象的 AutoCompleteFieldEditField 的文本设置为选择参数。所以你可以这样查询字符串。这是我的意思的sn-p:

    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.
             }
         }
    };
    

    【讨论】:

      【解决方案2】:
        /*  
      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);
      

      【讨论】:

      • 我应该使用什么来获取所选项目作为字符串> 如果您看到 Dialog.alert("You selected: "+_list.getSelectedIndex());我们得到所选项目的索引。我想知道的是如何将所选项目作为字符串获取。
      猜你喜欢
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-10
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      相关资源
      最近更新 更多