android 中如何限制 EditText 最大输入字符数
2016-05-18 16:18
483 查看
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); } }
相关文章推荐
- Android View 绘制过程
- GitHub上前100名Android 开源库。(快速查找)
- Android Studio SVN配置忽略文件
- 安卓SDK安装错误教程
- Android Spinner 文字居中、其下拉窗口文字居中,自定义Spinn
- android WindowManager解析与骗取QQ密码案例分析
- Android中Cookie的持久化(包含Volley的Cookie持久化)
- 关于Android 自定义Toast显示风格
- [Android] 数据存储五种方式使用与总结
- Data Binding Library(数据绑定库)--来自android官网的翻译
- android的图片保存和读取
- android studio学习日记
- Android进度条自定义——类似ProgressDialog效果的Dialog
- Android Source Code Complie
- 工具推荐:2016年最佳的15款Android黑客工具
- Android模糊处理简单实现毛玻璃效果
- Android应用退出登录的实现
- android Imageview Textview纯代码增加按下效果
- Android使用Matrix对Bitmap进行处理
- Android RecyclerView通用Adapter及item拖拽、滑动删除