在Blackberry中的编辑字段之间自动更改焦点



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

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

您希望在EditField上设置一个FieldChangeListener,以便在字段内容发生更改时进行监视。一旦用户输入了一个字符,您就可以通过调用Field.setFocus()移动到下一个字段。

假设您的EditField已逐个添加到屏幕中。

你可以使用下一个代码:

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();
        }
     }
   }
}

相关内容

  • 没有找到相关文章

最新更新