2016-09-22 3 views
1

CodenameOne을 사용하여 사용자가 입력해야하는 양식이 있습니다. 그러나 모든 구성 요소는 실제로 사용자 지정 기능을 나타내는 컨테이너입니다. 예를 들어, 을 Container에있는 Button과 함께 사용하면 해당 Container을 "Component"으로 사용합니다. 이를 통해 기존 Components을 결합하여 고급 기능을 생성 할 수 있습니다. 이것이 필요한 곳의 좋은 예는 3 TextFields 또는 TextFieldsComboBoxes의 조합으로 이루어진 맞춤 날짜 입력 필드의 좋은 예입니다.CodenameOne 가상 키보드 용 필드 인덱싱 설정

나는 연락처의 기능을 가진 "필드"를 가지고있다. Component. ContactsComponent

이 모든 것은 하나의 "단위"로 사용되어 사용자가 연락처를 선택하거나 직접 작성하도록 허용합니다. Buttons 열기 Dialog 팝업 등

내 문제는 사용자가 Android 키보드를 사용할 때 발생합니다. 이 연락처 Object 두 번째 "필드"및 사용자가 안드로이드 키보드의 '다음'버튼을 누르면, 응용 프로그램은 어떤 필드에 초점을 알 수 없습니다. 또한 필드 중 하나가 ComboBox 또는 Button이고 사용자가 next를 눌러 Component에 도달하면 키보드가 닫히지 않고 '다음'버튼이 제거되고 돌아 가기 버튼 또는 이모티콘 선택자로 바뀝니다 . 사용자는 첫 번째 필드에 누를 것 Form Example

, 키보드가 표시되고 사용자가 다음 누를 때, 키보드의 다음 버튼 사라져, 바로 다음 필드가 어떻게 같이 아래

는 예를 들어 상황입니다 Button 또는 ComboBox이되어야합니다.

포커싱 인덱스를 변경하거나 포커스를 얻는 특정 필드 형식을이 방법으로 생략 할 수 있습니까? 나는 전체를 Component으로 만들려고했으나 다른 것을 결합 할 수는 없다. Components. 부모가 ContainerComponent 인 경우에도이 특정 문제를 어떻게 해결할 수 있습니까?

답변

0

기본 동작은이 기능에 대해 "다음 포커스 낮춤"을 사용하므로 각 구성 요소에 setNextFocusDown(nextTextField)을 사용하면됩니다. ComboBox은 예상대로 작동하지 않지만 해당 값을 AutoCompleteTextField으로 변경할 수 있습니다.

+0

이것은 아무런 효과가 없었던 것 같습니다. 'Container'와'Form' 레벨 모두에 nextFocusDown을 추가해 보았습니다. 아무 소용이 없었습니다. – Propagandian

+0

텍스트 필드에서 이것을 호출하여 각 텍스트 필드의 다음 텍스트 필드를 나타냅니다. –