Android3.0からNumberPickerという数値入力用のViewが追加されました。
サンプルはこちらに用意していますので、SVNなどでダウンロードして下さい。
詳細内容は以下から。
NimberPicker
NumberPickerは数値を入力するためのViewです。
NumberPickerでは、TextEditのようにキーボードから入力できる入力部と入力部の上下に数値を加減できるボタンが付いています。
また、setOnValueChangedListenerを使用することで数値が変化する度に処理を入れることも可能です。
入力値の最大値と最小値を設定する
NumberPickerでは入力値の最大値と最小値を設定できます。
設定用のメソッドは以下の表を参照して下さい。
setMaxValue(int MaxValue) | 入力できる最大値を引数で設定 |
setMinValue(int MinValue) | 入力できる最大値を引数で設定 |
OnValueChangedListener
OnValueChangedListenerは入力値が変更されるたびに呼ばれるリスナーです。
これを利用することで、入力値が変更されるたびに一定の処理が行えます。
以下のように記述することで、OnValueChangedListenerを実装できます。
NumberPicker np = (NumberPicker)findViewById(R.id.numberPicker1); np.setOnValueChangedListener(new OnValueChangeListener() { @Override public void onValueChange(NumberPicker picker, int oldVal, int newVal) { //入力値が変更されるたびに入れたい処理 } });
onValueChangeの引数の詳細を以下に記述します
picker | onValueChangeイベントを発行したNumberPickerオブジェクト |
oldVal | 値が変更される前の値 |
newVal | 値が変更された後の値 |
入力値の取得
入力された値はgetValueメソッドを使用することで取得できます。
NumberPicker np = (NumberPicker)findViewById(R.id.numberPicker1); int value = np.getValue();