【问题标题】:autocomplete search field for blackberry黑莓的自动完成搜索字段
【发布时间】:2011-12-10 17:48:48
【问题描述】:

我想在当前正在开发的应用中实现自动完成功能。我会使用黑莓本机自动完成字段,但我希望从 Web 服务器获取自动完成列表。此功能正在黑莓的谷歌地图搜索屏幕中实现。

请你给点想法如何解决这个问题?

【问题讨论】:

  • 您是否尝试过使用本机自动完成字段来实现这一点?
  • 是的。我尝试使用本机自动完成字段来实现它,但它从作为固定列表的 BasicFilteredList 类中获取其列表。我希望从在线目录列表中动态获取列表。类似 ajax 但现在使用 java 的东西。谢谢

标签: search blackberry user-interface autocomplete


【解决方案1】:

我没有尝试,但我认为这样做没有任何问题。 您需要为 EditField 添加侦听器 - getEditField 将为您提供帮助。 获得建议列表后,将它们打包到 BasicFilteredList 并将其设置为 AutoCompleteFieldsetFilteredList

您还应该考虑网络不可达时的实现情况。

【讨论】:

  • 我实施了您的建议,但这种方法的问题是我希望自动建议由“keydown 事件”或“按下某个键”触发。我正在考虑覆盖屏幕类的默认按键方法。
  • 如果您将侦听器添加到 EditField,您将收到有关文本更改的通知。
  • 好的。我将尝试实现这一点。谢谢
【解决方案2】:

来自http://devblog.blackberry.com/2010/04/how-to-use-autocompletefield/的好例子

从网络服务器取回数据后,将可搜索数据存储为String[]

那么你只需要下面的代码来让你的 AutoCompleteField 工作:

BasicFilteredList filterList = new BasicFilteredList();

//my query to sqlite database, yours could just be parsed from your webserver or whatever
String[] list = db.getSearchSuggestions(totalCount); 

filterList.addDataSet(1, list, "list", BasicFilteredList.COMPARISON_IGNORE_CASE);
final AutoCompleteField autoComplete = new AutoCompleteField(filterList);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多