2011-12-10 4 views
1

현재 개발중인 앱에 자동 완성 기능을 구현하고 싶습니다. 나는 Blackberry 네이티브 자동 완성 필드를 사용했을 것이다.하지만 자동 완성리스트를 웹 서버에서 가져 오길 원한다. 이 기능은 블랙 베리 용 Google지도 검색 화면에서 구현됩니다.검은 딸기에 대한 자동 완성 검색 필드

이 문제를 해결하는 방법에 대한 아이디어를 제공해주십시오.

+0

당신이 기본 자동 완성 필드이를 구현하는 시도 해 봤나 :

그런 다음 당신은 당신의 AutoCompleteField 작업을 할 수있는 다음과 같은 코드가 필요합니다? –

+0

예 .. 네이티브 자동 완성 필드로 구현하려고했지만 고정 목록 인 BasicFilteredList 클래스에서 해당 목록을 가져옵니다. 목록을 온라인에서 동적으로 가져 오기를 원합니다. 아약스 같은 것이 있지만 지금 자바를 사용합니다. 감사합니다 – Oluwabusayo

답변

1

나는 시도하지 않았지만 어떤 문제도 나타나지 않습니다. EditField에 대한 청취자를 추가해야합니다 - getEditField가 도움이 될 것입니다. 제안 목록을 가져온 후 BasicFilteredList에 포장하고 으로 AutoCompleteField으로 설정합니다.

네트워크에 연결할 수없는 경우 사례 구현에 대해서도 고려해야합니다.

+0

나는 당신의 제안을 구현했으나 그 접근법의 문제점은 'keydown 이벤트'또는 '키를 누르는 것'에 의해 자동 제안이 시작되기를 바랍니다. 화면 클래스의 기본 keplressed 메서드를 재정의 할 생각 중입니다. – Oluwabusayo

+0

EditField에 리스너를 추가 한 경우 텍스트 변경에 대한 알림을 받게됩니다. –

+0

오케이. 나는 이것을 구현하려고 노력할 것이다. 감사 – Oluwabusayo

0

웹 서버에서 다시 데이터를 가져 오는 한 후, String[]로 검색 가능한 데이터를 저장 http://devblog.blackberry.com/2010/04/how-to-use-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);