Ich möchte einfach nur in den Nummernblockmodus wechseln, sobald ein bestimmter EditText den Fokus hat.
Ich möchte einfach nur in den Nummernblockmodus wechseln, sobald ein bestimmter EditText den Fokus hat.
Antworten:
Ich fand diese Implementierung nützlich, zeigt eine bessere Tastatur und begrenzt die Eingabezeichen.
<EditText
android:inputType="phone"
android:digits="1234567890"
...
/>
Darüber hinaus können Sie android:maxLength
die maximale Anzahl von Zahlen begrenzen.
So programmgesteuert:
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"/>
zeigt den großen Nummernblock als Dialer an.
Sie können es auf zwei Arten tun
Laufzeit eingestellt
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
Verwenden von XML
<EditText
...
android:inputType="number" />
Wenn Sie Ihren EditText im Dialogfeld verwenden oder dynamisch erstellen und ihn nicht über XML festlegen können, hilft Ihnen dieses Beispiel beim Festlegen dieses Tastaturtyps, während Sie dynamischen Text bearbeiten usw.
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
Dabei ist myEditTxt das dynamische EDIT TEXT-Objekt (Name).
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
Weitere Eingabetypen und Details finden Sie hier auf der Google-Website
Der folgende Code erlaubt nur die Nummern "0123456789". Selbst wenn Sie versehentlich einen anderen Wert als "0123456789" eingeben, wird der Bearbeitungstext nicht akzeptiert.
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);