android 中如何限制 EditText 最大输入字符数
来源:互联网 发布:c汉诺塔循环算法 编辑:程序博客网 时间:2024/05/08 23:41
android 中如何限制 EditText 最大输入字符数
1、在 xml 文件中设置文本编辑框属性作字符数限制
如:android:maxLength="10" 即限制最大输入字符个数为10
但是这种方法有的时候并不适用,比如你在代码中为空间又添加了一个InputFilter,这个filter的作用可能是对你输入的字符进行一些格式上的限制,那么这个filter就会使你在布局文件中定义的maxLength失效。这个时候就需要在代码中设置EditText的最大输入字符数。
2、在代码中使用InputFilter 进行过滤
editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(10)}); 即限定最大输入字符数为10
3、利用 TextWatcher 进行监听
editText.addTextChangedListener(new MaxLengthWatcher(10, editText));
public class MaxLengthWatcher implements TextWatcher { private int maxLen = 0; private EditText editText = null; private TextView textView = null; public MaxLengthWatcher(int maxLen, EditText editText, TextView textView) { this.maxLen = maxLen; this.editText = editText; this.textView = textView; } public void afterTextChanged(Editable arg0) { // TODO Auto-generated method stub } public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { // TODO Auto-generated method stub } public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { // TODO Auto-generated method stub Editable editable = editText.getText(); int len = editable.length(); if(len > maxLen) { int selEndIndex = Selection.getSelectionEnd(editable); String str = editable.toString(); //截取新字符串 String newStr = str.substring(0,maxLen); editText.setText(newStr); editable = editText.getText(); //新字符串的长度 int newLen = editable.length(); //旧光标位置超过字符串长度 if(selEndIndex > newLen) { selEndIndex = editable.length(); } //设置新光标所在的位置 Selection.setSelection(editable, selEndIndex); } textView.setText(len + "/" + maxLen); } }
0 0
- android 中如何限制 EditText 最大输入字符数
- android 中如何限制 EditText 最大输入字符数(2)
- android 中如何限制 EditText 最大输入字符数
- android 中如何限制 EditText 最大输入字符数
- android 中如何限制 EditText 最大输入字符数
- android 中如何限制 EditText 最大输入字符数
- android 中如何限制 EditText 最大输入字符数
- android 中如何限制 EditText 最大输入字符数
- android 中如何限制 EditText 最大输入字符数
- android 中如何限制 EditText 最大输入字符数
- android 中如何限制 EditText 最大输入字符数
- android 中如何限制 EditText 最大输入字符数
- android 中如何限制 EditText 最大输入字符数
- android 中如何限制 EditText 最大输入字符数
- android 中如何限制 EditText 最大输入字符数
- android 中如何限制 EditText 最大输入字符数
- android开发(十六) 如何限制 EditText 最大输入字符数
- Android-02 如何限制 EditText 最大输入字符数
- AFNetworking 2.X 迁移 3.0
- 前端资源汇总
- View the start/end of a file linux
- Http协议
- 利用Express搭建空白工程
- android 中如何限制 EditText 最大输入字符数
- 每个人都在成为大神的路上,只不过有的人在走,而有的人在跑。
- error LNK2019: 无法解析的外部符号 _xMonitorFromWindow@8,该符号在函数 "public: int __thiscall ATL::CWindow::Cent
- NSPredicate
- 分布式高并发服务器做请求分发,session共享(nginx+tomcat+redis)
- Android Spinner 文字居中、其下拉窗口文字居中,自定义Spinn
- Hello,World!
- Java学习之旅基础知识篇:面向对象之封装、继承及多态
- Fiddler 抓包工具 (一)