我是BlackBerry和Java的新手。我想弄清楚但没有得到任何正确的方法来实现我的任务。我想输入16位密码。所以为此,我在HorizontalFieldManager中有四个passwordEditField,每个passwordEditField允许最多4位数。当我在第一个最左边的passwordEditField输入4位数时,我想自动将焦点设置到下一个没有任何按键的passwordEditField。我用了,
passwordEditField = new PasswordEditField("","",4,0){
protected void onUnfocus()
{
this.setFocus(passwordEditField.getIndex()+1,0,0);
}
};
我尝试了moveFocus(),setFocus(),setCursorPosition()但没有将焦点放在下一个元素上。有什么方法可以在黑莓中阻止这项任务。
答案 0 :(得分:4)
passwordEditField.setChangeListener(new FieldChangeListener() {
public void fieldChanged(Field field, int context) {
String text = passwordEditField.getText().toString();
if (text.length() == 4) {
nextPasswordEditField.setFocus();
}
}
});