关于A6s上的无法动态修改maxLength的问题

最近有用户反映在手机上输入密码时最大长度和提示的不符,最长14位,但是却只能输入11位。这个功能是很早以前就测试过的,而且很多机器都测试过没有问题,从后台查看到用户的手机型号Samsung Galaxy A6s。打开云测平台找到同一型号的测试机,果然有问题。

接下来查找解决方案。

当时因为输入框的样式问题,密码框继承了手机号的样式,默认maxLength是11,在代码中重新设置了maxLength和自定义的Filter(用于控制密码输入内容),代码如下

passwordEdit.setFilters(new InputFilter[]{new InputFilter.LengthFilter(13), new PasswordFilter()}); // PasswordFilter为自定义Filter

这样的代码在其他三星手机上没有问题,只在A6s上无法生效,不知道又修改了哪些代码(头疼)。

尝试了一些方案

  1. 先设置空的Filter,然后再设置不为空的Filter;无效
  2. 改变inputType;无效
  3. xml代码不设置maxLength;有效。

看来A6s的Rom是修改了一些关于maxLength的设置,在xml中设置maxLength后就无法重新设置最大长度了。

暂时先修改xml代码不设置长度,修改style代码,增加一个没有maxLength的样式,让密码样式来继承。

三星程序员胡乱修改Rom导致的这个奇葩问题,也不知道会不会修复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值