it-swarm.com.de

Wie zeige ich die Nummerntastatur in einem EditText in Android an?

Ich möchte einfach in den Nummernblockmodus wechseln, sobald ein bestimmter EditText den Fokus hat.

132
Chiwai Chan

Sie können eine inputType

Um dies in einer Java-Datei zu tun:

EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
111
Dominic

Ich fand diese Implementierung nützlich, zeigt eine bessere Tastatur und begrenzt die Eingabezeichen.

<EditText
    Android:inputType="phone"
    Android:digits="1234567890"
    ...
/>

Zusätzlich können Sie Android:maxLength verwenden, um die maximale Anzahl von Zahlen zu begrenzen. 

Um dies programmgesteuert durchzuführen:

editText.setInputType(InputType.TYPE_CLASS_PHONE);

KeyListener keyListener = DigitsKeyListener.getInstance("1234567890");
editText.setKeyListener(keyListener);
46
Matthijs
<EditText
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    ...
    Android:inputType="number|phone"/> 

zeigt den großen Ziffernblock als Dialer an.

17

Sie können es auf zwei Arten tun 

  1. Laufzeit eingestellt 

    EditText input = new EditText(this);
    input.setInputType(InputType.TYPE_CLASS_NUMBER);
    
  2. Verwendung von XML

    <EditText
        ...
        Android:inputType="number" />
    
10
Nirav Ranpara

Wenn Sie eine Bruchzahl benötigen, ist dies die Antwort für Sie:

Android:inputType="numberDecimal"
5
macio.Jun

Wenn Sie EditText in Dialog verwenden oder dynamisch erstellen und nicht aus XML heraus gesetzt werden können, hilft Ihnen dieses Beispiel beim Festlegen dieses Tastaturtyps, während Sie dynamischen Text bearbeiten usw.

myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);

wobei myEditTxt das dynamische EDIT TEXT-Objekt ist (Name)

3
Pir Fahim Shah

Weitere Eingabetypen und Details finden Sie hier auf der Google-Website

2
sai Gorantla

Verwenden Sie den folgenden Code in der Java-Datei

editText.setRawInputType (Configuration.KEYBOARD_QWERTY);

1
Darshuu
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
1
Aliya

Definieren Sie dies in Ihrem XML-Code

Android:inputType="number"
0
fulgen
EditText number1 = (EditText) layout.findViewById(R.id.edittext); 
    number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
     number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));

Dieser Code nimmt nur Zahlen von "0123456789" an, auch wenn Sie versehentlich eine andere Zahl als "0123456789" eingeben. Der Bearbeitungstext wird nicht akzeptiert.

0
Akhila Madari
EditText number1 = (EditText) layout.findViewById(R.id.edittext); 
number1.setInputType(InputType.TYPE_CLASS_NUMBER);
0
ShivBuyya