NumberPickerの5つ刻みなどに変更する
デフォルトでは1ずつ刻みのNumberPickerを、5つ刻みなどに変更する方法です。
私の場合、どうもうまく行かなくて、以下のような回りくどいやり方にしたら
思ったように実行できました。
ナンバーピッカーを拡張して、カスタムナンバーピッカーを作り、
以下のメソッドを追加しました。
public void setValues(int min ,int max, int step){ setMinValue(min); setMaxValue((max / step)); String string = ""; for (int i = min; i <= max; i += step) { string += i; if (i != max) { string += ","; } } setDisplayedValues(string.split(",")); }
ちょっと変なやり方です(笑)。
文字列に”,”(カンマ)を使う場合はsplitで分割する目印を変えて下さい。
ナンバーピッカーのインスタンスを作り、setValues()を呼びます。
0~55までの5刻みの場合は、
yourNumberPicker.setValues(0,55,5);
とすると、5刻みの表示になります。
値を取得するときは、表示されている値ではなくポジションとして返ってくるので、
またstep分だけ掛ける必要があります。