2016-01-29 13 views
5

Wiem, że jest kilka pytań już zadanych, ale mam trochę inne zapytanie.Jak przerwać przyjmowanie danych wejściowych po przekroczeniu limitu długości słowa EditText

W jaki sposób możemy ograniczyć maksymalną liczbę znaków do wprowadzenia w EditText? Czy mogę to zrobić

android:maxLength="7" 

czy to

((EditText)findViewById(R.id.zip)).setFilters(new InputFilter[] { 
    new InputFilter.LengthFilter(7) 
}); 

mogę jeszcze wpisać w polu tekstowym, choć nie jest to widoczne i nie brane pod uwagę. Jeśli będę nadal pisać, dane wejściowe staną się niewidoczne po przekroczeniu limitu, ale model test-suggestions będzie budował dla większej liczby liter.

Załóżmy, że mój limit wynosi 7 i wpisałem 10 liter, a zobaczyłbym tylko pierwsze 7 liter, ale sugestie tekstowe będą zawierały 10 liter. Ponadto muszę nacisnąć 3 razy backspace, aby rozpocząć usuwanie liter z mojego 7-literowego słowa.

Moje pytanie brzmi: czy istnieje sposób na przerwanie wprowadzania danych po określonej długości znaków?

PS: Nie trzeba dodawać, ale chociaż nie chcę, aby dane wejściowe były wprowadzane po 7 literach, zezwoliłbym na usuwanie lub cofanie.

+0

** Załóżmy, że mój limit jest 7 i 10 wpisane litery, wtedy widzę tylko pierwsze 7 liter, ale tekstowe sugestie pokaże 10 list słów. Ponadto muszę nacisnąć 3 razy backspace, aby rozpocząć usuwanie liter z mojego 7-literowego słowa ** - True. Próbowałem tego samego i znalazłem dokładny przypadek – NarendraJi

Odpowiedz

9

Wystarczy dodać ten do twojej edycji EditTe xt. To na pewno zadziała.

android:inputType="textFilter" 

Próbowałem tego samego i zadziałało to dla mnie.

+0

Dzięki, działa idealnie. –

+0

Przyjemność kumpel :) – NarendraJi

+0

Dobry kumpel. –

3

spróbować,

android:inputType="textNoSuggestions|textVisiblePassword" 
android:maxLength="7" 

LUB

edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 
+0

Dziękuję za odpowiedź, ale moja troska nie dotyczy sugestii. Chodzi głównie o zatrzymanie danych wejściowych. –

+0

tak to jest błąd, więc po zmodyfikowaniu typu wejścia maxLength będzie działać idealnie, uniemożliwiając użytkownikom wpisanie więcej bufora. – Madhur

+0

wypatruj tego http://stackoverflow.com/questions/12083183/android-edittext-max-length/19222238#19222238 – Madhur

-1

Jak @Madhur sugested, w EditText xml dodać kolejną linię:

Documentation

android:maxLength="7" 
+0

Dzięki, ale to już jestem robić właśnie teraz. Potrzebuję pomocy przy zatrzymywaniu danych wejściowych, o czym wspomniałem w moim pytaniu. –

+0

Po tej linii dane wejściowe powinny zostać zatrzymane, możesz wprowadzić onlu z 0-6 znaków w edytowanym tekście. – Stanojkovic

+0

** Załóżmy, że mój limit wynosi 7 i wpisałem 10 liter, a następnie zobaczyłem tylko pierwsze 7 liter, ale sugestie tekstowe będą zawierały 10 liter.Ponadto muszę nacisnąć 3 razy backspace, aby rozpocząć usuwanie liter z mojego 7-literowego słowa **. Zobacz, co OP mówi: – NarendraJi

1

To w końcu działa na mnie:

edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); 
Powiązane problemy