J'ai un edittext
dans lequel je veux que seules des valeurs entières soient insérées. Quelqu'un peut-il me dire quelle propriété je dois utiliser?
android
android-edittext
Sourabh
la source
la source
android:inputType="phone"
à la place de cela. Mais cela semble un peu plus "occupé".Par exemple:
la source
0123456789.
et non0123456780.
En code, vous pourriez faire
la source
Pour saisir uniquement des chiffres, utilisez
android:inputType="numberPassword"
aveceditText.setTransformationMethod(null);
pour supprimer le masquage automatique du numéro.OU
android:inputType="phone"
Pour la saisie des seuls chiffres, je pense que ces deux méthodes sont meilleures que
android:inputType="number"
. La limitation de la mention de "nombre" comme type d'entrée est que le clavier permet de passer aux caractères et permet également de saisir d'autres caractères spéciaux. "numberPassword" inputType n'a pas ces problèmes car le clavier n'affiche que des chiffres. Même le type d'entrée "téléphone" fonctionne car le clavier ne vous permet pas de passer aux caractères. Mais vous pouvez toujours saisir quelques caractères spéciaux comme +, /, N, etc.android: inputType = "numberPassword" avec editText.setTransformationMethod (null);
inputType = "téléphone"
inputType = "nombre"
la source
android:inputType="numberPassword"
aveceditText.setTransformationMethod(null);
la source
la source
l'utilisation de ce qui suit peut mieux résoudre votre problème;
en xml:
ou // en activité dans etfield.addtextchangelistener
la source
Si quelqu'un veut utiliser uniquement le numéro de 0 à 9 avec
imeOptions
activer, utilisez la ligne ci-dessous dans votreEditText
Cela n'autorisera que le nombre et si vous cliquez sur le bouton terminé / suivant du clavier, votre focus passera au champ suivant.
la source
Vous pouvez l'utiliser en XML
ou,
ou,
Par programme, vous pouvez utiliser
editText.setInputType (InputType.TYPE_CLASS_NUMBER);
la source
Je dois attraper en appuyant sur Entrée sur un clavier avec TextWatcher . Mais j'ai découvert que tous les claviers numériques android: inputType = "number" ou "numberDecimal" ou "numberPassword" etc. ne me permettent pas d'attraper Enter lorsque l'utilisateur appuie dessus.
J'ai essayé
android:digits="0123456789\n"
et tous les claviers numériques ont commencé à fonctionner avec Enter et TextWatcher.Donc ma façon est:
plus
editText.setTransformationMethod(null)
Merci à barmaley et abhiank.
la source
Je ne sais pas quelle était la bonne réponse en '13, mais aujourd'hui c'est:
myEditText.setKeyListener(DigitsKeyListener.getInstance(null, false, true)); // positive decimal numbers
Vous obtenez tout, y compris le clavier à l'écran est un pavé numérique.
Presque tout. L'espresso, dans sa sagesse infinie, laisse
typeText("...")
inexplicablement contourner le filtre et entrer dans les poubelles ...la source
le plus simple pour moi
bien que cela soit également plus personnalisé
la source