在Android中限制 EditText
的文本长度的最佳方法是什么?
有没有办法通过xml做到这一点?
原文由 hpique 发布,翻译遵循 CC BY-SA 4.0 许可协议
在Android中限制 EditText
的文本长度的最佳方法是什么?
有没有办法通过xml做到这一点?
原文由 hpique 发布,翻译遵循 CC BY-SA 4.0 许可协议
xml中的简单方法:
android:maxLength="@{length}"
要以编程方式设置它,您可以使用以下功能
public static void setMaxLengthOfEditText(EditText editText, int length) {
InputFilter[] filters = editText.getFilters();
List arrayList = new ArrayList();
int i2 = 0;
if (filters != null && filters.length > 0) {
int filtersSize = filters.length;
int i3 = 0;
while (i2 < filtersSize) {
Object obj = filters[i2];
if (obj instanceof LengthFilter) {
arrayList.add(new LengthFilter(length));
i3 = 1;
} else {
arrayList.add(obj);
}
i2++;
}
i2 = i3;
}
if (i2 == 0) {
arrayList.add(new LengthFilter(length));
}
if (!arrayList.isEmpty()) {
editText.setFilters((InputFilter[]) arrayList.toArray(new InputFilter[arrayList.size()]));
}
}
原文由 Mohamed Fadel Buffon 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答1.3k 阅读✓ 已解决
2 回答2.6k 阅读
2 回答1.7k 阅读
1 回答2.1k 阅读
1 回答1.1k 阅读
1 回答1.3k 阅读
1.3k 阅读
文档
例子