2012-04-12 3 views
1

블랙 베리 OS 4.2를 지원하기 위해 AutoCompleteField을 만들어야합니다. 아래는 내가 첨부 한 스크린 샷입니다. 나는 블랙 베리 SDK를 심판했다. 그리고 AutoCompleteField은 5.0 이후부터 사용 가능하며, 나 역시 해냈다.하지만 4.2 SDK에서는 그것을해야만한다. 다음은 Blackberry 장치 4.2 이상에 대한 나의 요구 사항입니다.블랙 베리 4.2 자동 완성 필드

  1. AutoCompleteField 선택 가능한 값 목록을 채우십시오. 특정 값을 선택하면 아래의 레이블 필드에서 선택된 항목 값을 업데이트해야합니다.

  2. AutoCompleteField은 숫자 만 입력 할 수 있습니다.

enter image description here

사람은 동일한 작업을 수행하는 데 도움이 바랍니다.

답변

5

쉬운 일이 아닙니다. EditField을 추가하고 그 바로 아래에 ListField을 추가하면 비슷한 기능을 얻을 수 있습니다. 동작을 에뮬레이션하려면 다음을 수행해야합니다.
- 문자의 종류를 제한/필터링하십시오. (케이스의 숫자)
- 각 입력 된 문자에 대해 후보 단어 목록을 생성하십시오 (전적으로 귀하의 책임하에 있음).
- char가 입력되면 listfield에 사용 가능한 옵션을 채 웁니다. 또한 문자가 삭제 될 때 (실제로 텍스트가 변경 될 때마다).
- 포커스가 아무 것도 선택하지 않고 텍스트 필드를 떠나는 경우 목록 필드의 모든 요소를 ​​삭제하십시오. 사용자가 선택 항목을 선택할 때도 마찬가지입니다. 목록에는 사용자가 입력 할 때 요소 만 포함되어야합니다.

사용자 입력을 감지하려면 TextFilter을 사용하고 editfield.setTextFilter()으로 설정할 수 있습니다. 사용자 정의 페인팅을 수행하고 최상의 모양을 제공하려면 EditFieldListField을 모두 확장해야 할 수도 있습니다.

참고 :이 접근법은 알 수 있듯이 다소 즉흥적입니다. 비슷한 일을해야합니까, 나는 시각적으로보기 흉하지 않은 것을 생각해 낼 수 있다고 생각하지 않습니다. 처음부터 자신 만의 사용자 정의 필드를 만들 수도 있지만 어려움은 더욱 커집니다.