19 mai 2015 | Laissez un commentaire En Android, les EditText peuvent contenir du texte. Dans certains cas, il faut que ces EditText ne puisse recevoir qu’un certain nombre de caractère (pour un code postal Français par exemple). Il existe deux moyens pour le faire : en XML, ou directement en Java. En XML Dans le XML, on définit la propriété android:maxLength pour limiter la longueur : <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:maxLength="5" <!-- Pas plus de 5 caractères --> android:id="@+id/name" android:inputType="textCapWords" android:layout_column="1" android:layout_row="0" /> En Java Malheureusement, le code java ne possède pas de .setMaxLength. On faut que l’on applique un InputFilter. Pour faire court, un InputFilter va permettre, comme son nom l’indique, de mettre un filtre sur la saisie de l’utilisateur. Il existe deux filtres possibles : LengthFilter et AllCaps. Dans notre cas, on veut limiter la longueur (Length). Ce qui nous donne : EditText editText = new EditText(this); InputFilter maxLength = new InputFilter.LengthFilter(5); // C'est ici qu'on définie la longueur max editText.setFilters(new InputFilter[]{maxLength}); Source : Thiranjith’s Blog