安卓EditText设置最大字符长度

6

我想设置EditText的最大长度,但是没有成功。

我尝试过以下方法:

a.setFilters (new InputFilter[] { new InputFilter.LengthFilter (a.Length) });

我遇到了一些错误(不是在a.Length处),就像这样:

a.setMaxLength ( a.Lenght);

还有一些错误。

我认为我可能忘记了一些头文件,但这只是猜测。

提一下,我使用的是Xamarin。谢谢您的帮助。


@Manwal 我的主要错误是 'Android.Widget.EditText' 不包含 'setMaxLength/setFilters' 的定义,且未找到接受类型为 'Android.Widget.EditText' 的第一个参数的扩展方法 'setMaxLength/setFilters'(您是否缺少 using 指令或程序集引用)。 - user3836246
3个回答

19

如果您正在使用C#,最好按照以下方式尝试:

MyEditText.SetFilters( new IInputFilter[] { new InputFilterLengthFilter(10) } );

1
我不知道为什么这个被踩了,因为它是有效的,谢谢。 - Constantin Georgiu

2

请尝试

TextView a = new TextView(...);
InputFilter[] filter = new InputFilter[1];
filter[1] = new InputFilter.LengthFilter(10);
a.setFilters (filter);

或者在您的xml中使用以下内容:
android:maxLength="20"

没起作用...而且我不需要在XML中。这个序列在一个条件结构(if)中。 - user3836246

0

editText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(12) });

或者

EditText youredittext = new EditText(this);

int maxLength = 10;

InputFilter[] fArray = new InputFilter[1];

fArray[0] = new InputFilter.LengthFilter(maxLength);

youredittext.setFilters(fArray);


我不需要 XMI。这个序列位于条件结构 (if) 中。在编程上,我已经指定在描述中,它并不像这样工作。 - user3836246
你能提供你的错误日志吗?这样我们才能找到实际问题。虽然这个方法对我有效,但我还是要求你提供错误日志。 - Vaishali Sutariya
“Android.Widget.EditText”不包含“setMaxLength/setFilters”的定义,也没有接受类型为“Android.Widget.EditText”的第一个参数的扩展方法“setMaxLength/setFilters”可以找到(您是否缺少使用指令或程序集引用)。 - user3836246
我卡在InputFilter(第3行)。 - user3836246
你确定这不可能是由头文件引起的吗? - user3836246
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接