android edpttext长度问题 5
EditText限制文字长度10个中文字,20个字符,请问如何实现?输入20个字符里面最多输入10个汉字或者20个字符,汉字和字符可以混用但必须在20个字符内(一个汉字占...
EditText限制文字长度10个中文字,20个字符,请问如何实现?
输入20个字符里面最多输入10个汉字或者20个字符,汉字和字符可以混用但必须在20个字符内(一个汉字占2个字符) 展开
输入20个字符里面最多输入10个汉字或者20个字符,汉字和字符可以混用但必须在20个字符内(一个汉字占2个字符) 展开
3个回答
展开全部
不要用ems!!!
还是说一下吧,ems这个属性定义一行显示字符的宽度,但这个宽度不是以字符数为标准,而是以宽度为标准。举个例子,ems=10,不是说可以输入10个字符,而是输入的字符宽度总和最大是10个单位,这个单位具体是什么,我没有研究过,但是如果使用ems来限制,你的字号(textsize)改变的话,限制的字符数也会变动。
ems用于这样的情形比较好:无论输入字号多大,总宽度能与屏幕一半对齐之类的。
而楼主可能应用的是这样的场景:不关心字号,而是存储这些字符串所占的空间大小。这时候,可以使用maxLength属性,不过它不区分,英文字符和汉字都只算一个字符,也就是说,如果使用maxLength=10,就可以输入10英文个字符或汉字。
如果不是很严格,楼主可以把字符数控制10个,如果非要能够输入20个字符的话,在输入的时候做监听,再处理吧,虽然麻烦,但是数据库操作必须严谨啊
还是说一下吧,ems这个属性定义一行显示字符的宽度,但这个宽度不是以字符数为标准,而是以宽度为标准。举个例子,ems=10,不是说可以输入10个字符,而是输入的字符宽度总和最大是10个单位,这个单位具体是什么,我没有研究过,但是如果使用ems来限制,你的字号(textsize)改变的话,限制的字符数也会变动。
ems用于这样的情形比较好:无论输入字号多大,总宽度能与屏幕一半对齐之类的。
而楼主可能应用的是这样的场景:不关心字号,而是存储这些字符串所占的空间大小。这时候,可以使用maxLength属性,不过它不区分,英文字符和汉字都只算一个字符,也就是说,如果使用maxLength=10,就可以输入10英文个字符或汉字。
如果不是很严格,楼主可以把字符数控制10个,如果非要能够输入20个字符的话,在输入的时候做监听,再处理吧,虽然麻烦,但是数据库操作必须严谨啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询