【Android】NumberPicker(ナンバーピッカー)の使い方
数字を入力する場合には、NumberPicker(ナンバーピッカー)を使うと便利です。
NumberPickerはAPIレベル11から利用が可能です。
基本的な使い方
下記例では、1〜30の数字を選んでボタンを押すと選んだ数字のダイアログが表示されます。
ダイアログはDialogFragmentを使用して表示させています。
DialogFragmentについて
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> <NumberPicker android:id="@+id/numberPicker" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
import android.R.integer; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.NumberPicker; import android.app.Activity; import android.app.DialogFragment; public class MainActivity extends Activity implements TestDialogFragment.TestDialogListener ,OnClickListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main2); Button item1 = (Button) findViewById(R.id.button1); item1.setOnClickListener(this); NumberPicker np = (NumberPicker) this.findViewById(R.id.numberPicker); np.setMaxValue(30); np.setMinValue(1); np.setValue(20); } @Override public void onPositiveClick(DialogFragment dialog) { // TODO 自動生成されたメソッド・スタブ Log.d("Test", "onPositiveClick!"); } @Override public void onNegativeClick(DialogFragment dialog) { // TODO 自動生成されたメソッド・スタブ Log.d("Test", "onNegativeClick!"); } @Override public void onClick(View v) { // TODO 自動生成されたメソッド・スタブ switch (v.getId()) { case R.id.button1: NumberPicker np = (NumberPicker) this.findViewById(R.id.numberPicker); DialogFragment newFragment = TestDialogFragment.newInstance("タイトル",np.getValue() + "を選択しました","決定","キャンセル"); newFragment.show(getFragmentManager(), "test"); } } }
使用しているメソッド
上記で使用しているメソッドは下記となります。
メソッド名 | 説明 | |
---|---|---|
void | setMaxValue(int maxValue) | 最大値を設定する |
void | setMinValue(int minValue) | 最小値を設定する |
void | setValue(int value) | 選択中の値を設定する(初期値など) |
int | getValue() | 現在選択中の値を取得する |