2013-04-30 3 views
2

사용자가 채울 수있는 숫자 필드와 숫자가 기본 입력 모드입니다. "Java (TM) Platform Micro Edition SDK 3.0"시뮬레이터에서 다음 코드가 올바르게 작동합니다.LWUIT TextField 숫자 입력 모드가 실제 QWERTY 키보드에서 작동하지 않습니다.

그러나 Nokia E72와 같은 물리적 인 QWERTY 키보드 장치에서는 그렇지 않습니다.

숫자 만 쓰는 제한이 적용됩니다. 그러나 필드의 기본 입력 모드는 아닙니다. 사용자는 숫자 키를 누르기보다는 숫자를 입력하기 위해 'Shift'+ 숫자를 사용해야합니다. 내가 사용

코드는 다음과 같습니다

inputField.setConstraint(TextField.NUMERIC); 

    inputField.setInputMode("123"); //I tried commenting this line in case it was 
               //causing a problem, but it still occurred. 
    inputField.setInputModeOrder(new String[]{"123"}); 
내가 원래 입력 (T9) 화면을 사용하지 -without- 숫자의 기본 쓰기를 가능하게하려면 어떻게

?

답변

0

나는이 기능을 사용할 수 없다고 생각합니다. 제한은 장치에서 오는 인터럽트에 반응하는 것입니다. 사용자 인터럽트 번호 입력 텍스트 필드가 편집되는 경우에만 해당됩니다.

주의 T9에서 사용할 때만 인터럽트가 숫자입니다. 따라서 T9없이 사용할 경우 시스템은이 프레스를 텍스트 입력으로 인식하고 Lwuit은이 입력을 숫자로 편집하지 않습니다.

1

TextArea를 사용하는 경우 사용자가 기본 편집 만 사용하므로이 문자가 제대로 작동하고 텍스트 입력을 차단하면 insertChar()를 재정의 할 수 있습니다. 우리는이 동작을 Codename One에 고정 시켰다고 생각합니다.

+0

TextArea와 동일한 문제가 있습니다. 사용자가 Shift + 숫자를 누르지 않으면 네이티브 입력 화면이 열리지 않습니다. 아쉽게도 새 프레임 워크로 프로젝트를 전송할 충분한 시간이 없습니다. – Gabriel

+0

TextArea는 피처 폰을위한 입력을 허용하지 않습니다. 이것은 엄격히 TextField의 기능입니다. –