Reputation: 4576
I know there are a couple of questions already been asked, but I have a little different query.
How do we put a limit on the maximum number of characters to be inputted in EditText
? Whether I do this
android:maxLength="7"
or this
((EditText)findViewById(R.id.zip)).setFilters(new InputFilter[] {
new InputFilter.LengthFilter(7)
});
I can still type into the text field, though it's not visible and not taken into account. If I keep typing, the input becomes invisible after the limit, but the test-suggestions
keep building for higher number of letters.
Suppose my limit is 7 and I typed 10 letters, then I would only see the first 7 letters, but text-suggestions will show 10 letter words. Furthermore, I need to press backspace 3 times to actually start deleting letters from my shown 7-letter word.
So, my question is: Is there a way to stop taking input after a certain character length?
PS: Needless to say, but though I don't want input to be inputted after 7 letters, I would allow delete or backspace.
Upvotes: 10
Views: 5413
Reputation: 3353
try this,
android:inputType="textNoSuggestions|textVisiblePassword"
android:maxLength="7"
OR
edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
OR
android:inputType="textFilter"
Upvotes: 7
Reputation: 1348
This finally works for me:
edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
Upvotes: 3
Reputation: 1632
As @Madhur sugested, in your EditText xml add next line:
android:maxLength="7"
Upvotes: -1
Reputation: 4001
Just add this to your EditText. It will definitely work.
android:inputType="textFilter"
I tried the same and it worked for me.
Upvotes: 17