android EditText maxLength无效

Sal*_*aan 11 java android filter maxlength android-edittext

这是我的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"
/>
Run Code Online (Sandbox Code Playgroud)

它也不能使用此代码

TextView editEntryView = new TextView(...);
InputFilter[] filterArray = new InputFilter[1];
filterArray[0] = new InputFilter.LengthFilter(5);
editEntryView.setFilters(filterArray);
Run Code Online (Sandbox Code Playgroud)

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

编辑:同样的问题所面临的其他开发人员
看评论这里同样的问题所面临曼西和AAT
这里在同样的问题所面临的泳儿和提升评论

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

Sur*_*a V 14

试试这个,它适用于maxlenght和输入过滤器

month.setFilters(new InputFilter[]{new InputFilterMinMax("0", "12"), new InputFilter.LengthFilter(2)});
Run Code Online (Sandbox Code Playgroud)


Arm*_*ndo 13

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

您向其添加InputFilters 的示例代码View似乎是一个TextView对象.EditText如果你手动添加过滤器,请确保你拉出正确的视图并且它正在被投射- 它现在正在为我工​​作.

祝好运.


Tri*_*ahu 12

如果您使用InputFilter作为edittext,则maxLength将不起作用.