2011-10-04 6 views
0

저는 BlackBerry 및 Java를 처음 사용합니다. 알아 내려고 노력하고 있지만 내 작업을 구현하는 데 올바른 방법을 얻지 못하고 있습니다. 16 자리 암호를 입력하고 싶습니다. 그래서, 나는 HorizontalFieldManager에서 4 개의 passwordEditField를 가지며, 각 passwordEditField는 최대 4 자리를 허용합니다. 첫 번째 가장 왼쪽의 passwordEditField에 4 자리 숫자를 입력하면 키 누르기없이 다음 passwordEditField에 자동으로 포커스를 설정하려고합니다. 내가) 블랙 베리의 PasswordEditField에서 다음 PasswordEditField로 포커스 이동

passwordEditField = new PasswordEditField("","",4,0){ 

    protected void onUnfocus() 
    { 
     this.setFocus(passwordEditField.getIndex()+1,0,0); 
    } 

}; 

나는 moveFocus을 (시도, 사용, setFocus void 현재(), setCursorPosition()하지만 다음 요소에 초점을받지. 블랙 베리에서이 임무를 수행 할 수있는 방법이 있습니까?

답변

4
passwordEditField.setChangeListener(new FieldChangeListener() { 
    public void fieldChanged(Field field, int context) { 
     String text = passwordEditField.getText().toString(); 
     if (text.length() == 4) { 
      nextPasswordEditField.setFocus(); 
     } 
    } 
}); 
관련 문제