Я хотел бы программно установить maxLength
свойство, TextView
поскольку я не хочу жестко кодировать его в макете. Я не вижу никакого set
метода, связанного с maxLength
.
Кто-нибудь может подсказать мне, как этого добиться?
Должно быть что-то подобное. но никогда не использовал его для просмотра текста, только 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))
сохранить старые фильтры с котлиномПопробуй это
источник
Простой способ ограничения редактирования текста персонажа :
источник
Для тех из вас, кто использует Kotlin
Тогда вы можете просто использовать простой editText.limitLength (10)
источник
Как сказал Жуан Карлос , в Котлине используют:
См. Также https://stackoverflow.com/a/58372842/2914140 о некоторых устройствах странного поведения.
(Добавьте
android:inputType="textNoSuggestions"
к своемуEditText
.)источник
LengthFilter(10)
), а затем добавить другой (LengthFilter(20)
).Для Kotlin и без сброса предыдущих фильтров:
источник
Я сделал простую функцию расширения для этого
источник
источник
лучшее решение, которое я нашел
источник
EditText
, но обрезает текст после 10-го символа (один раз).Чтобы сохранить исходный входной фильтр, вы можете сделать это следующим образом:
источник