将焦点从PasswordEditField移动到黑莓中的下一个PasswordEditField

时间:2011-10-04 11:06:03

标签: blackberry java-me

我是BlackBerry和Java的新手。我想弄清楚但没有得到任何正确的方法来实现我的任务。我想输入16位密码。所以为此,我在Horizo​​ntalFieldManager中有四个passwordEditField,每个passwordEditField允许最多4位数。当我在第一个最左边的passwordEditField输入4位数时,我想自动将焦点设置到下一个没有任何按键的passwordEditField。我用了,

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

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

}; 

我尝试了moveFocus(),setFocus(),setCursorPosition()但没有将焦点放在下一个元素上。有什么方法可以在黑莓中阻止这项任务。

1 个答案:

答案 0 :(得分:4)

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