web-dev-qa-db-ja.com

AndroidのEditTextに数字キーボードを表示するにはどうすればよいですか?

基本的に、特定のEditTextにフォーカスがあるとすぐにテンキーモードに切り替えたいだけです。

142
Chiwai Chan

inputType に対して EditText を設定できます:

<EditText Android:inputType="number" ... />
253
Josef Pfleger

Javaファイルでそれを行うには:

EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
114
Dominic

この実装は便利で、より優れたキーボードを示し、入力文字を制限しています。

<EditText
    Android:inputType="phone"
    Android:digits="1234567890"
    ...
/>

さらに、Android:maxLengthを使用して、最大数を制限できます。

プログラムでこれを行うには:

editText.setInputType(InputType.TYPE_CLASS_PHONE);

KeyListener keyListener = DigitsKeyListener.getInstance("1234567890");
editText.setKeyListener(keyListener);
46
Matthijs
<EditText
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    ...
    Android:inputType="number|phone"/> 

ダイヤラーとして大きな数字のパッドが表示されます。

17

あなたは2つの方法でそれをすることができます

  1. ランタイムセット

    EditText input = new EditText(this);
    input.setInputType(InputType.TYPE_CLASS_NUMBER);
    
  2. XMLを使用する

    <EditText
        ...
        Android:inputType="number" />
    
10
Nirav Ranpara

小数が必要な場合、これが答えです。

Android:inputType="numberDecimal"
5
macio.Jun

DialogでEditTextを使用している、または動的に作成していて、xmlから設定できない場合、この例は、動的なEdit Textなどの使用中にそのタイプのキーボードを設定するのに役立ちます

myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);

myEditTxtは、動的なEDIT TEXTオブジェクト(名前)です。

4
Pir Fahim Shah

より多くの入力タイプと詳細が見つかりました here google website

2
sai Gorantla

以下のコードでは、「0123456789」のみを許可します。誤って「0123456789」以外を入力しても、編集テキストは受け入れられません。

    EditText number1 = (EditText) layout.findViewById(R.id.edittext); 
    number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
    number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));
2
Akhila Madari

Javaファイルで以下のコードを使用します

editText.setRawInputType(Configuration.KEYBOARD_QWERTY);

1
Darshuu
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
1
Aliya

Xmlコードでこれを定義します

Android:inputType="number"
0
fulgen
EditText number1 = (EditText) layout.findViewById(R.id.edittext); 
number1.setInputType(InputType.TYPE_CLASS_NUMBER);
0
ShivBuyya