Question

Je viens essentiellement veux passer au numéro mode pad dès un certain EditText a le focus.

Était-ce utile?

La solution

Vous pouvez configurer un inputType pour votre EditText :

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

Autres conseils

Pour le faire dans un fichier Java:

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

Je trouve cette mise en œuvre utile, montre un meilleur clavier et limite les caractères d'entrée.

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

De plus, vous pouvez utiliser android:maxLength pour limiter la quantité maximum de chiffres.

Pour ce faire par programme:

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"/> 

montrera le grand pavé numérique comme numéroteur.

Vous pouvez le faire de 2 façons

  1. Runtime set

    EditText input = new EditText(this);
    input.setInputType(InputType.TYPE_CLASS_NUMBER);
    
  2. Utilisation de XML

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

Si vous avez besoin fractionnaire, alors ceci est la réponse pour vous:

android:inputType="numberDecimal"

Si vous utilisez votre EditText dans la boîte de dialogue ou de créer dynamiquement et vous ne pouvez pas le définir à partir de XML alors cet exemple vous aider à établir ce type de clavier pendant que vous utilisez Modifier le texte dynamique etc

myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);

où myEditTxt est l'objet de texte dynamique EDIT (nom)

Plus de types d'entrée et de détails sur le site google

Ci-dessous le code ne permettra numéros « 0123456789” , même si vous tapez accidentellement autre que » 0123456789” , modifier le texte n'acceptera pas.

    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);

Utilisez le code ci-dessous dans le fichier java

  

editText.setRawInputType (Configuration.KEYBOARD_QWERTY);

Définir dans votre code xml

android:inputType="number"
EditText number1 = (EditText) layout.findViewById(R.id.edittext); 
number1.setInputType(InputType.TYPE_CLASS_NUMBER);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top