Comment empêcher quelqu'un d'entrer ce qui suit dans un EditText où setLines = 4?Limiter le texte intérieur d'EditText
DFA
d
annonces
dd
adf
adf
DDF
ad
DDA
Comment empêcher quelqu'un d'entrer ce qui suit dans un EditText où setLines = 4?Limiter le texte intérieur d'EditText
DFA
d
annonces
dd
adf
adf
DDF
ad
DDA
Eh bien, vous ne pouvez pas vraiment empêcher quelqu'un d'entrer plus de quatre lignes. S'il tape simplement sans ajouter manuellement de nouvelles lignes, vous ne saurez jamais combien de lignes il a saisies.
Cependant, vous pouvez limiter le nombre de nouvelles lignes ajoutées manuellement (via la touche entrée) en accrochant sur le OnKeyListener
du EditView
:
EditText edit = (EditText)findViewById(R.id.edit);
edit.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
int lineCount = ((EditText)v).getText().toString().split("\\n").length;
if (lineCount > 3) {
return true;
}
}
return false;
}
});
C'est une méthode assez hacky, mais la seule que je peux venir avec jusqu'à présent ...
J'ai couru à ce problème aussi et pour le moment cela semble être le seul moyen (raisonnable) de le résoudre. –