Wie programm maxLength in Android Textview eingestellt?
Frage
würde ich programmatisch Satz maxLength
Eigenschaft TextView
mag, wie ich will nicht zu hart Code es im Layout. Ich kann sehen, jedes set
Verfahren nicht auf maxLength
bezogen.
Kann jemand Führer mir, wie dies zu erreichen?
Lösung
Sollte so etwas sein. aber es nie für Textview, nur EditText:
TextView tv = new TextView(this);
int maxLength = 10;
InputFilter[] fArray = new InputFilter[1];
fArray[0] = new InputFilter.LengthFilter(maxLength);
tv.setFilters(fArray);
Andere Tipps
Versuchen Sie diese
int maxLengthofEditText = 4;
editText.setFilters(new InputFilter[] {new InputFilter.LengthFilter(maxLengthofEditText)});
Einfache Möglichkeit, Begrenzung bearbeiten Textzeichen :
EditText ed=(EditText)findViewById(R.id.edittxt);
ed.setFilters(new InputFilter[]{new InputFilter.LengthFilter(15)});
Für die von Ihnen mit Kotlin
fun EditText.limitLength(maxLength: Int) {
filters = arrayOf(InputFilter.LengthFilter(maxLength))
}
Dann können Sie nur eine einfache editText.limitLength verwenden (10)
Für Kotlin und ohne vorherige Filter Zurücksetzen:
fun TextView.addFilter(filter: InputFilter) {
filters =
if (filters.isNullOrEmpty()) {
arrayOf(filter)
} else {
filters
.toMutableList()
.apply {
removeAll { it.javaClass == filter.javaClass }
add(filter)
}
.toTypedArray()
}
}
textView.addFilter(InputFilter.LengthFilter(10))
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title");
final EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
//for Limit...
input.setFilters(new InputFilter[] {new InputFilter.LengthFilter(3)});
builder.setView(input);
beste Lösung, die ich gefunden
textView.setText(text.substring(0,10));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow