回答:
私android:inputType="number"はXML属性を推測します。
android:inputType="phone"その代わりに使用することもできます。しかし、少し「忙しい」ようです。
                    例えば:
<EditText
android:id="@+id/myNumber"
android:digits="0123456789."
android:inputType="numberDecimal"
/>0123456789.あり、そうでないはずです0123456780.
                    数字のみを入力する場合は、android:inputType="numberPassword"とともに使用してeditText.setTransformationMethod(null);、番号の自動非表示を削除します。
または
android:inputType="phone"
数字のみの入力の場合、これらの2つの方法の方がに勝ると思いますandroid:inputType="number"。inputTypeとして「number」を指定することの制限は、キーボードが文字に切り替えることができ、他の特殊文字を入力できることです。キーボードには数字しか表示されないため、「numberPassword」inputTypeにはこれらの問題はありません。キーボードでは文字に切り替えることができないため、「電話」のinputTypeでも機能します。ただし、+、/、Nなどの特殊文字をいくつか入力することはできます。
android:inputType = "numberPassword" with editText.setTransformationMethod(null);
inputType = "phone"
inputType = "number"
android:inputType="numberPassword"とともにeditText.setTransformationMethod(null);
                    android:inputType="numberDecimal"<EditText
android:id="@+id/age"
android:numeric="integer" 
/>以下を使用すると、問題をよりよく解決できます。
XML:
<EditText
      android:id="@+id/age"
      android:inputType="numberDecimal|numberSigned"        />または//etfield.addtextchangelistener内のアクティビティ
     private String blockCharacterSet="+(/)N,*;#";//declare globally
               try {
                for (int i = 0; i < s.length(); i++) {
                    if (blockCharacterSet.contains(s.charAt(i) + "")) {
                        String corrected_settempvalue = arrivalsettemp.substring(0, arrivalsettemp.length() - 1);
                        et_ArrivalSetTemp.setText(corrected_settempvalue);
                        if (corrected_settempvalue.length() != 0)
                            et_ArrivalSetTemp.setSelection(corrected_settempvalue.length());
                    }
                }
            } catch (Exception d) {
                d.printStackTrace();
            }XMLで使用できます
<EditText
 android:id="@+id/myNumber"
 android:digits="123"
 android:inputType="number"
/>または、
android:inputType="numberPassword" along with editText.setTransformationMethod(null); to remove auto-hiding of the number.または、
android:inputType="phone"プログラムで
 editText.setInputType(InputType.TYPE_CLASS_NUMBER);を使用できます。
TextWatcherでキーボードのEnterキーを押すのをキャッチする必要があります。しかし、すべての数字キーボードandroid:inputType = "number"または "numberDecimal"または "numberPassword"などでは、ユーザーがEnterキーを押したときにEnterをキャッチできないことがわかりました。
私が試したところandroid:digits="0123456789\n"、すべての数値キーボードがEnterとTextWatcherで動作し始めました。
だから私の方法は:
android:digits="0123456789\n"
android:inputType="numberPassword"プラス editText.setTransformationMethod(null)
barmaleyとabhiankに感謝します。
私にとって最も単純な
android:numeric="integer" これもよりカスタマイズしますが
android:digits="0123456789"