J'essaie d'implémenter un champ EditText exclusivement numérique dans mon application (Android API 23), ce qui signifie que je souhaite que le clavier numérique unique soit affiché lorsque l'utilisateur y entre.
Pour ce faire, j'ai essayé de définir ces attributs sur le champ EditText ...
android:inputType="number"
android:digits="1234567890"
et
android:inputType="phone"
android:digits="1234567890"
mais cela appelle toujours le clavier complet.
Des idées pourquoi cela se produit?
Je teste sur un Nexus 5x (Android 6.0.1) avec le clavier par défaut
Réponses:
1 pour la réponse № 1Essaye ça.
<EditText
android:digits="0123456789"
android:inputType="numberDecimal"
/>
1 pour la réponse № 2
Le problème est que j'avais le EditText dans un ListView. Ce qui est problématique pour une raison quelconque.
Je l'ai corrigé en réglant le ListView comme ceci
<ListView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:descendantFocusability="afterDescendants"
android:focusable="false" />
Cela m'a aidé à mener à la réponse EditText dans ListView ne restera pas concentré
0 pour la réponse № 3
Vous pouvez gérer cela par programmation. Essayez de faire:
inputType = TYPE_CLASS_NUMBER
ou
inputType = TYPE_NUMBER_PHONE
Le premier est pour le nombre seulement. La seconde concerne les numéros qui ont le format de numéro de téléphone.