3

我的 BlackBerry 应用程序中有五个EditField对象,每个对象只接受一个数字字符。

输入字符时,我想将焦点从第一个EditField更改为第二个。EditField请注意,从一个到另一个的焦点EditField必须自动进行,而不是通过按 Enter 键或其他键。

4

2 回答 2

4

您想在字段内容更改时设置一个FieldChangeListenerEditField监视。一旦用户输入了一个字符,您就可以通过调用移动到下一个字段Field.setFocus()

于 2012-08-21T14:08:30.307 回答
2

假设您EditField的 s 被一一添加到屏幕上。

您可以使用下一个代码:

editField<i>.setFieldChangeListener(this);
...
public void fieldChanged(Field field, int status) {
   if (field instanceof EditField) {
     EditField editField = (EditField)field;
     if (field.getText().length() > 0) {//don't move focus in case of deleted text
        Manager manager = field.getManager();
        Field nextField = manager.getField(manager.getFieldIndex(editField) + 1);
        if (nextField instanceof EditField) {
           nextField.setFocus();
        }
     }
   }
}
于 2012-08-21T14:15:47.400 回答