java – android EditText maxLength无效

这是我的xml

<EditText
android:id="@+id/et_comment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textNoSuggestions|textVisiblePassword"
android:hint="Provide comments here..."
android:gravity="top"
android:maxLength="5"
android:textSize="12sp"
android:visibility="visible"
/>

它也不能使用此代码

TextView editEntryView = new TextView(...);
InputFilter[] filterArray = new InputFilter[1];
filterArray[0] = new InputFilter.LengthFilter(5);
editEntryView.setFilters(filterArray);

maxLenth不起作用,我不知道为什么,但它不是.
我已经检查了堆栈上的其他答案,但它们也无法正常工作.
请检查EditText属性是否有任何冲突或有什么问题?

编辑:其他开发人员面临同样的问题
看到评论here Mansi和aat面临同样的问题
here在评论中,Vincy和Riser面临同样的问题

编辑:问题解决了
我正在使用输入过滤器,它会覆盖xml中的最大长度,使其无法工作.
输入过滤器对我没有用的原因是我使用的是另一个输入过滤器,它覆盖了之前的maxLength输入过滤器.
将它变成单个输入过滤器可以解决这个问题.

解决方法:

相当老的帖子但是,我注意到XML是一个实际的EditText对象,而你将过滤器添加到TextView,它可以处理它与EditText不同.如果要手动添加InputFilter对象,则会覆盖xml属性.

将InputFilters添加到View的示例代码似乎是TextView对象.如果你手动添加过滤器,请确保你拉出正确的视图并将其转换为EditText – 它现在正在为我工​​作.

祝好运.

上一篇:3. Configure the Identity Service


下一篇:是否有比Java List更长的内容?