Search blackberry的自动完成搜索字段
我想在我正在开发的应用程序中实现自动完成功能。我本来会使用Blackberry原生的自动完成字段,但我希望从web服务器获取自动完成列表。这项功能将在google maps for blackberry的搜索屏幕上实现Search blackberry的自动完成搜索字段,search,blackberry,user-interface,autocomplete,Search,Blackberry,User Interface,Autocomplete,我想在我正在开发的应用程序中实现自动完成功能。我本来会使用Blackberry原生的自动完成字段,但我希望从web服务器获取自动完成列表。这项功能将在google maps for blackberry的搜索屏幕上实现 你能告诉我怎么做吗?我没有试过,但我看不出有什么问题。 您需要为EditField添加侦听器-getEditField将对您有所帮助。 在获得建议列表后,您可以将它们打包到BasicFilteredList,并使用setFilteredList将其设置为AutoCompleteF
你能告诉我怎么做吗?我没有试过,但我看不出有什么问题。 您需要为EditField添加侦听器-
getEditField
将对您有所帮助。
在获得建议列表后,您可以将它们打包到BasicFilteredList
,并使用setFilteredList
将其设置为AutoCompleteField
您还应该考虑在网络不可访问的情况下的实现。我并没有尝试过,但我看不出有任何问题可以这样做。 您需要为EditField添加侦听器-
getEditField
将对您有所帮助。
在获得建议列表后,您可以将它们打包到BasicFilteredList
,并使用setFilteredList
将其设置为AutoCompleteField
您还应该考虑当网络不可到达时的情况的实现。来自
从web服务器取回数据后,将可搜索数据存储为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);
这是一个很好的例子
从web服务器取回数据后,将可搜索数据存储为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);
您是否尝试过使用本机自动完成字段实现此功能?是的。。我尝试使用本机自动完成字段实现它,但它从BasicFilteredList类(一个固定的列表)获取其列表。我想从在线目录列表中动态获取列表。类似于ajax,但现在使用java。谢谢你试着用本机自动完成字段实现这个吗?是的。。我尝试使用本机自动完成字段实现它,但它从BasicFilteredList类(一个固定的列表)获取其列表。我想从在线目录列表中动态获取列表。类似于ajax,但现在使用java。谢谢我执行了你的建议,但这种方法的问题是,我希望自动建议由“按键事件”或“按下一个键”触发。我正在考虑覆盖screen类的默认keypressed方法。如果将listener添加到EditField.OK,您将收到有关文本更改的通知。我将努力实现这一点。谢谢我执行了你的建议,但这种方法的问题是,我希望自动建议由“按键事件”或“按下一个键”触发。我正在考虑覆盖screen类的默认keypressed方法。如果将listener添加到EditField.OK,您将收到有关文本更改的通知。我将努力实现这一点。谢谢