我想在當前正在開發的應用中實現自動完成功能。我會使用黑莓原生自動完成字段,但我希望從網絡服務器獲得自動完成列表。此功能正在黑莓谷歌地圖的搜索屏幕中執行。黑莓的自動完成搜索字段
請問你可以提出一些建議嗎?
我想在當前正在開發的應用中實現自動完成功能。我會使用黑莓原生自動完成字段,但我希望從網絡服務器獲得自動完成列表。此功能正在黑莓谷歌地圖的搜索屏幕中執行。黑莓的自動完成搜索字段
請問你可以提出一些建議嗎?
我沒有嘗試,但我沒有看到任何問題要這樣做。 您需要爲EditField添加監聽器 - getEditField
會幫助您。 獲得建議列表後,您將它們打包到BasicFilteredList
並將其設置爲AutoCompleteField
與setFilteredList
。
您應該考慮網絡不可達的情況的實施。
我實現了你的建議,但是這種方法的問題是我想讓自動建議由'keydown事件'或'按下一個鍵'觸發。我想重寫屏幕類的默認按鍵方法。 – Oluwabusayo
如果您將偵聽器添加到EditField,您將收到關於文本更改的通知。 –
好的。我會盡力實現這一點。謝謝 – Oluwabusayo
很好的例子,從http://devblog.blackberry.com/2010/04/how-to-use-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);
您是否嘗試過與本機自動完成字段來實現這一點? –
是的..我試着用本地自動完成字段來實現它,但它從BasicFilteredList類獲取它的列表,這是一個固定列表。我想要從列表在線目錄列表中動態獲取列表。就像ajax,但現在使用java。謝謝 – Oluwabusayo