Frage

Ich mag im Grunde nur auf den Ziffernblock-Modus wechseln, sobald ein bestimmte EditText den Fokus hat.

War es hilfreich?

Lösung

Sie können eine inputType für EditText :

<EditText android:inputType="number" ... />

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

  1. Runtime gesetzt

    EditText input = new EditText(this);
    input.setInputType(InputType.TYPE_CLASS_NUMBER);
    
  2. 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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top