Ich möchte die maxLength
Eigenschaft programmgesteuert festlegen, TextView
da ich sie im Layout nicht fest codieren möchte. Ich kann keine set
Methode sehen, die damit zusammenhängt maxLength
.
Kann mir jemand helfen, wie ich das erreichen kann?
Sollte so etwas sein. aber nie für die Textansicht verwendet, nur 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))
Behalte alte Filter mit KotlinVersuche dies
quelle
Einfache Möglichkeit , Textzeichen zu bearbeiten :
quelle
Für diejenigen unter Ihnen, die Kotlin verwenden
Dann können Sie einfach eine einfache editText.limitLength (10) verwenden.
quelle
Wie João Carlos sagte, verwenden Sie in Kotlin:
Siehe auch https://stackoverflow.com/a/58372842/2914140 über das seltsame Verhalten einiger Geräte.
(Hinzufügen
android:inputType="textNoSuggestions"
zu IhremEditText
.)quelle
LengthFilter(10)
) entfernen und dann einen weiteren (LengthFilter(20)
) hinzufügen .Für Kotlin und ohne Zurücksetzen vorheriger Filter:
quelle
Ich habe eine einfache Erweiterungsfunktion für diese gemacht
quelle
quelle
beste Lösung, die ich gefunden habe
quelle
EditText
, aber ein Text wird nach dem 10. Symbol (einmalig) abgeschnitten.Um den ursprünglichen Eingabefilter beizubehalten, können Sie dies folgendermaßen tun:
quelle