maxLength属性不起作用了?可能是与InputFilter冲突了

我们都知道,在做登录时,通常需要对用户名和密码的长度进行限制。而在做长度限制时最简单的方法就是在EditText(或者TextView)中设置maxLength属性。前段时间做了一个项目,需要做登录功能,在对EditText输入长度限制时就用到了这个属性。后来需求又稍有变动,要求在输入时不接受空格和换行,也很简单,对输入框加上输入过滤就行了,如下:

@Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
        if (source.equals(" ") || source.equals("\n"))
            return "";
        else
            return null;
    }

这里是让Activity实现InputFilter接口。然后给EditText绑定上该过滤器:

et.setFilters(new InputFilter[]{this});

做完这些,发现输入过滤是可以了,但长度限制居然不再起作用了。确定maxLength属性还在,猜测可能和刚做的输入过滤有关,于是屏蔽掉输入过滤绑定代码,再试长度限制就有效了,原来是maxLength属性和InputFilter冲突了。这又是为什么呢?我们注意到在过滤的方法中有几个int类型的参数,于是猜测应该和长度有关,根据几个参数字面上的意思应该是和end

### 回答1: 表单是Web页面中一种常见的交互式元素,它可以让用户输入数据并将其提交到服务器进行处理。表单通常包含多个表单元素,如文本框、下拉框、单选框、复选框、按钮等。 文本框是表单中最常见的元素之一,它允许用户输入文本数据。在文本框中,Size属性指定文本框的宽度,即可见字符的数量,而maxlength属性指定文本框能够输入的最大字符数。如果用户试图输入超过maxlength指定的字符数,文本框将不再接受输入。因此,Size属性影响的是文本框的显示效果,而maxlength属性影响的是文本框的输入限制。 ### 回答2: 表单在页面中起到了收集用户输入数据的作用。它可以包含各种元素,如文本框、复选框、单选按钮、下拉框、提交按钮等,用于接收用户输入的数据,并将这些数据传输到服务器进行处理。 文本框是表单中常见的元素之一,用于用户输入文本信息。而文本框空间属性的Size和maxlength则有不同的作用。Size属性定义了目标文本框的宽度,可以通过指定具体像素值或相对值来设置。它影响的是文本框在页面上的显示宽度,而不是用户可以输入的字符的数量限制Maxlength属性则是限制用户在文本框中输入的字符数量上限。可以通过设置一个整数值来限制用户的输入长度,当用户输入的字符数量超过该限制时,系统会自动截断多余的字符。 总之,表单在页面中起到了收集用户输入数据的作用,可以包含文本框、复选框、单选按钮、下拉框等元素。而文本框空间属性的Size用于定义文本框的显示宽度,maxlength用于限制文本框中可以输入的字符数量上限。 ### 回答3: 表单在页面中起到收集用户信息的作用,通过表单用户可以向服务器发送数据。表单可以包含多种元素,常见的有文本框、单选框、复选框、下拉列表等。 文本框是表单中最常见的元素之一,用于输入文本信息。文本框空间属性的Size指的是文本框的宽度,可以设置为一个固定的值或者一个相对的百分比值。这个属性影响文本框的显示宽度,单位可以是字符个数或者像素。 而maxlength属性指的是文本框中最多可以输入的字符个数。当用户输入的字符数量达到maxlength的值时,将无法再继续输入更多字符。这个属性用于限制用户输入的字符数目,常用于限制用户输入框内容的长度。 Size和maxlength两个属性在作用上有一些差别,Size影响文本框的显示宽度,maxlength限制了用户可以输入的字符数目。Size属性常用于控制文本框的显示效果,而maxlength属性则用于限制输入内容的长度。 总之,表单在页面中起到收集用户信息的作用,可以包含各种元素,而文本框的空间属性Size和maxlength分别控制文本框的显示宽度和限制输入内容的长度
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值