1

数値がソフトキーボードによって入力された場合にのみ、numberPicker の onChangeListener を持つことは可能ですか? 数値が gy +/- に変更された場合は、Listener を実行しないでください。ユーザーがソフトキーボードから数字を入力した場合のみ。

目標は、ユーザーが前の項目に数字を入力した後、次のピッカ項目にフォーカスを移すことです。したがって、ユーザーは「12345」などの数値を入力する準備が整い、各 pickeritem は独自の値を取得します。

Picker0=1
Picker1=2
Picker3=3
Picker4=4
Picker5=5

それは可能ですか、それとも間違った方法ですか?

4

1 に答える 1

1

個人的には、間違いを犯した可能性があるときに自動的に移動するフォーカスは嫌いです。たとえば、5 ではなく 4 を押して次のピッカーに移動すると、イライラします。ユーザーがエンター キーを押したときにフォーカスを変更することを検討することもできますが、いずれにしても、アクティビティまたはダイアログで onKeyUp イベントを設定し、フォーカスの変更を表すキーコードを探します (エンター キーである場合)。または数)

public boolean onKeyUp(int keyCode, KeyEvent event) {
  if (keyCode == KeyEvent.KEYCODE_ENTER)
    //blah
    return true;
  }
  else if (keyCode == KeyEvent.KEYCODE_1) // sadly you'll have to put in a
    //blah                                // comparison for each number here
    return false; // Return false b/c you want the picker to receive number input
  }
  return false;
}
于 2012-09-17T17:00:31.783 に答える