Wie kann ich die Nummer-Tastatur auf einem EditText in Android?
-
12-09-2019 - |
Frage
Ich mag im Grunde nur auf den Ziffernblock-Modus wechseln, sobald ein bestimmte EditText den Fokus hat.
Andere Tipps
Um es in einer Java-Datei zu tun:
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
Ich fand diese Implementierung nützlich, zeigt eine bessere Tastatur und Grenzen Eingangs Zeichen.
<EditText
android:inputType="phone"
android:digits="1234567890"
...
/>
Darüber hinaus können Sie android:maxLength
verwenden, um die maximale Anzahl von Nummern zu begrenzen.
Um dies zu tun programmatisch:
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"/>
wird den großen Ziffernblock als Dialer zeigen.
Sie können es 2 Möglichkeiten tun
-
Runtime gesetzt
EditText input = new EditText(this); input.setInputType(InputType.TYPE_CLASS_NUMBER);
-
Mit XML
<EditText ... android:inputType="number" />
Wenn Sie gebrochene Zahl benötigen, dann ist dies die Antwort für Sie:
android:inputType="numberDecimal"
Wenn Sie Ihren EditText in Dialog verwenden oder das Erstellen von dynamischen und Sie können es nicht aus XML legen Sie dann in diesem Beispiel werden Ihnen helfen, in diese Art von Tastatur einstellen, während Sie dynamischen Text bearbeiten verwenden etc
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
wo myEditTxt ist das dynamische EDIT TEXT Objekt (Name)
Weitere Eingabetypen und Details gefunden hier auf Google Website
Im Folgenden Code erlaubt nur Zahlen „0123456789” , auch wenn Sie versehentlich eine andere Art als“ 0123456789” , Text bearbeitet nicht akzeptieren wird.
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
Verwenden Sie den Code unten in Java-Datei
editText.setRawInputType (Configuration.KEYBOARD_QWERTY);
Definieren Sie dies in Ihrem XML-Code
android:inputType="number"
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);