23

日付ピッカー ダイアログの個々の部分のようなものを探しています。制限可能な (たとえば 1 から 10 の間の) 整数 (および整数のみ) を入力できるビュー。ビュー自体でキーボードまたは矢印を使用できます。存在しますか?

ダイアログ用です。整数を要求する既製のダイアログも役立ちます。

4

5 に答える 5

23

ウィジェットはおそらくあなたNumberPickerが望むものです。残念ながら、com.android.internal.Widget.NumberPicker通常の手段ではアクセスできない場所にあります。

使用方法は 2 つあります。

  1. Android ソースからコードをコピーします。
  2. リフレクションを使用してウィジェットにアクセスする

レイアウトで使用するための xml は次のとおりです。

<com.android.internal.widget.NumberPicker
    android:id="@+id/picker"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

NumberPicker 設定を設定するリフレクションを次に示します (これはテストしていません)。

Object o = findViewById(R.id.picker);
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());
}

これは内部ウィジェットであり、SDK には含まれていないため、リフレクションを使用すると、将来の互換性が失われる可能性があります。ソースから独自にロールするのが最も安全です。

この情報の元の情報源は、このGoogle グループで共有されています。

于 2009-02-07T17:44:45.463 に答える
7

NumberPicker 内部ウィジェットは、Android ソース コードから取得され、パッケージ化されており、ここで見つけることができます。よく働く!

編集: 元のリンクはダウンしています。ここでウィジェットのコピーを見つけることができます

于 2010-05-15T20:58:00.323 に答える
4

他の場所で言及されているように、NumberPicker は API 11 (Android 3.0) 以降の Android SDK で利用できるようになりました。

http://developer.android.com/reference/android/widget/NumberPicker.html

Android < 3.0 の場合、次のコードを使用できます:
https://github.com/novak/numpicker-demo
https://github.com/mrn/numberpicker

于 2012-02-01T19:00:37.207 に答える
0

EditText で使用できますandroid:inputType="number"

<EditText android:layout_height="wrap_content" android:id="@+id/editText1" android:inputType="number" android:layout_width="wrap_content"></EditText>
于 2012-12-19T07:47:00.290 に答える