基本的に、特定のEditTextにフォーカスがあるとすぐにテンキーモードに切り替えたいだけです。
Javaファイルでそれを行うには:
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
この実装は便利で、より優れたキーボードを示し、入力文字を制限しています。
<EditText
Android:inputType="phone"
Android:digits="1234567890"
...
/>
さらに、Android:maxLength
を使用して、最大数を制限できます。
プログラムでこれを行うには:
editText.setInputType(InputType.TYPE_CLASS_PHONE);
KeyListener keyListener = DigitsKeyListener.getInstance("1234567890");
editText.setKeyListener(keyListener);
<EditText
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
...
Android:inputType="number|phone"/>
ダイヤラーとして大きな数字のパッドが表示されます。
あなたは2つの方法でそれをすることができます
ランタイムセット
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
XMLを使用する
<EditText
...
Android:inputType="number" />
小数が必要な場合、これが答えです。
Android:inputType="numberDecimal"
DialogでEditTextを使用している、または動的に作成していて、xmlから設定できない場合、この例は、動的なEdit Textなどの使用中にそのタイプのキーボードを設定するのに役立ちます
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
myEditTxtは、動的なEDIT TEXTオブジェクト(名前)です。
より多くの入力タイプと詳細が見つかりました here google website
以下のコードでは、「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”));
Javaファイルで以下のコードを使用します
editText.setRawInputType(Configuration.KEYBOARD_QWERTY);
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
Xmlコードでこれを定義します
Android:inputType="number"
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);