如果输入文本长度超过10,我希望EidtText停止接受来自用户的输入..但即使文本长度超过10,它也应该能够删除EditText中已有的文本。
有些人可以帮我解释代码..
谢谢:)
答案 0 :(得分:1)
您是否尝试过限制EditText的字符数? If not take a look at this
EditText et = new EditText(this);
int maxLength = 3;
InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(maxLength);
et.setFilters(FilterArray);
答案 1 :(得分:0)
使用EditText的setKeyListener方法设置一个自定义KeyListener,用于限制控件中文本的长度
答案 2 :(得分:0)
供参考:
如果我想跟踪多种类型的最大限制(多个字段共享最大限制,单个字段最大限制),我会查看编辑中的选择位置。
如果位置大于我的最小最大值,我只取左边的最大字符。 如果位置小于我的最大值,我取左边的位置字符,从最大值中减去,然后取剩下的右边字符。
如果您有多个可能的限制器,则只需执行此操作。