我想在当前正在开发的应用中实现自动完成功能。我会使用Blackberry本机自动完成字段,但我希望从Web服务器获取自动完成列表。此功能正在黑莓谷歌地图的搜索屏幕中实现。
请你就这个问题提出想法吗?
答案 0 :(得分:1)
我没有尝试,但我没有看到任何问题。
您需要为EditField添加侦听器 - getEditField
将帮助您。
获取建议列表后,您将其打包到BasicFilteredList
并使用AutoCompleteField
将其设置为setFilteredList
。
当网络无法访问时,您还应该考虑案例的实现。
答案 1 :(得分:0)
来自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);