UMA*_*MAR 162 android maxlength textview
我想以编程方式设置maxLength属性,TextView因为我不想在布局中硬编码.我看不到任何set与之相关的方法maxLength.
谁能指导我如何实现这一目标?
Sep*_*phy 348
应该是这样的.但从未将它用于textview,只使用edittext:
TextView tv = new TextView(this);
int maxLength = 10;
InputFilter[] fArray = new InputFilter[1];
fArray[0] = new InputFilter.LengthFilter(maxLength);
tv.setFilters(fArray);
Run Code Online (Sandbox Code Playgroud)
Int*_*iya 78
试试这个
int maxLengthofEditText = 4;
editText.setFilters(new InputFilter[] {new InputFilter.LengthFilter(maxLengthofEditText)});
Run Code Online (Sandbox Code Playgroud)
Far*_*med 17
简单方法限制编辑文本字符:
EditText ed=(EditText)findViewById(R.id.edittxt);
ed.setFilters(new InputFilter[]{new InputFilter.LengthFilter(15)});
Run Code Online (Sandbox Code Playgroud)
Kev*_*vin 13
对于那些使用Kotlin的人
fun EditText.limitLength(maxLength: Int) {
filters = arrayOf(InputFilter.LengthFilter(maxLength))
}
Run Code Online (Sandbox Code Playgroud)
然后你可以使用一个简单的editText.limitLength(10)
Coo*_*ind 13
正如João Carlos所说,在 Kotlin 中使用:
editText.filters += InputFilter.LengthFilter(10)
Run Code Online (Sandbox Code Playgroud)
另请参阅/sf/answers/4086098971/关于某些设备的奇怪行为。
(添加android:inputType="textNoSuggestions"到您的EditText.)
对于 Kotlin 并且不重置以前的过滤器:
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))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78096 次 |
| 最近记录: |