NumberPickerとは
上記の様な入力項目です。
一般的には時間等で利用されるのTimePickerみたいなものですが、秒だけ設定したい等といった特殊な場合に対応していません。
Android3.0だとNumberPickerが使える様になったみたいですが、スマホ等をターゲットにするアプリの場合は2.1とかでも動作させる必要があります。
2.1でも利用できるのですが、通常の方法では利用出来ません。
色々調べてると親切なサイトがあったので記載しておきます。
私はNumberPicker Widget for Android | Quietly Codingを利用してみました。
このライブラリはNumberPickerの関数内にある
private static final int DEFAULT_MAX = 200;
private static final int DEFAULT_MIN = 0;
で最大値と最小値を設定出来ますが、ひとつのプロジェクト内で複数のNumberPickerを使う場合、場所に応じてこの値を変える必要があります。
そこで参考にしたのが下のサイト
gui – Is there a view for inputing integers in A
XMLで
等とidを設定。
そして利用するjava内で
Object o = findViewById(R.id.min10); Class c = o.getClass(); try { Method m = c.getMethod("setRange", int.class, int.class); m.invoke(o, 0, 9); } catch (Exception e) { Log.e("", e.getMessage()); }
という感じでid単位でinvoke関数の最小値と最大値を設定すればOKです。