Gostaria de definir programaticamente a maxLength
propriedade, TextView
pois não quero codificá-la no layout. Não consigo ver nenhum set
método relacionado a maxLength
.
Alguém pode me orientar como conseguir isso?
Deveria ser algo assim. mas nunca o usou para textview, apenas edittext:
TextView tv = new TextView(this);
int maxLength = 10;
InputFilter[] fArray = new InputFilter[1];
fArray[0] = new InputFilter.LengthFilter(maxLength);
tv.setFilters(fArray);
editText.filters = arrayOf(*editText.filters, InputFilter.LengthFilter(10))
mantenha os filtros antigos com KotlinTente isto
fonte
Limite de maneira fácil de editar o caractere de texto :
fonte
Para aqueles que usam o Kotlin
Em seguida, você pode simplesmente usar um simples editText.limitLength (10)
fonte
Como João Carlos disse, em Kotlin use:
Consulte também https://stackoverflow.com/a/58372842/2914140 sobre o comportamento estranho de alguns dispositivos.
(Adicione
android:inputType="textNoSuggestions"
ao seuEditText
.)fonte
LengthFilter(10)
) e depois adicionar outro (LengthFilter(20)
).Para o Kotlin e sem redefinir os filtros anteriores:
fonte
Eu criei uma função de extensão simples para este
fonte
fonte
melhor solução que encontrei
fonte
EditText
, mas corta um texto após o 10º símbolo (uma vez).Para manter o filtro de entrada original, você pode fazer o seguinte:
fonte