私のBlackBerryアプリには5つEditField
のオブジェクトがあり、それぞれが1つの数字のみを受け入れます。
文字を入力したときに、フォーカスを1番目EditField
から2番目に変更したい。Enterキーやその他のキーを押すのではなくEditField
、フォーカスが自動的に移動する必要があることに注意してください。EditField
私のBlackBerryアプリには5つEditField
のオブジェクトがあり、それぞれが1つの数字のみを受け入れます。
文字を入力したときに、フォーカスを1番目EditField
から2番目に変更したい。Enterキーやその他のキーを押すのではなくEditField
、フォーカスが自動的に移動する必要があることに注意してください。EditField
フィールドの内容が変更されたときに監視するにFieldChangeListener
を設定します。EditField
ユーザーが1つの文字を入力したら、を呼び出して次のフィールドに移動できますField.setFocus()
。
EditField
あなたのが1つずつ画面に追加されると仮定しましょう。
次のコードを使用できます。
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();
}
}
}
}