NumberPickerを使用して数値を入力する


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