这篇文章给大家分享的是有关Android如何控制文本输入框最多输入10个字符长度的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
代码如下:
et_name = (EditText) findViewById(R.id.et_name);
// 控制输入框最多输入10个字符长度(五个汉字)
et_name.setFilters(new InputFilter[] { new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
// 输入内容是否超过设定值,最多输入五个汉字10个字符
if (getTextLength(dest.toString()) + getTextLength(source.toString()) > MAX_LENGTH) {
// 输入框内已经有10个字符则返回空字符
if (getTextLength(dest.toString()) >= 10) {
return "";
// 如果输入框内没有字符,且输入的超过了10个字符,则截取前五个汉字
} else if (getTextLength(dest.toString()) == 0) {
return source.toString().substring(0, 5);
} else {
// 输入框已有的字符数为双数还是单数
if (getTextLength(dest.toString()) % 2 == 0) {
return source.toString().substring(0, 5 - (getTextLength(dest.toString()) / 2));
} else {
return source.toString().substring(0, 5 - (getTextLength(dest.toString()) / 2 + 1));
}
}
}
return null;
}
}});
getTextLength(String text);方法
/**
* 获取字符数量 汉字占2个,英文占一个
*
* @param text
* @return
*/
public static int getTextLength(String text) {
int length = 0;
for (int i = 0; i < text.length(); i++) {
if (text.charAt(i) > 255) {
length += 2;
} else {
length++;
}
}
return length;
}
感谢各位的阅读!关于“Android如何控制文本输入框最多输入10个字符长度”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。