EditText输入限制setFilters
来源:互联网 发布:全球数据公司 编辑:程序博客网 时间:2024/05/21 15:03
When reach max,pop up hint window:
private static String invalid_char[] ={"\\", "/", ":", "*", "?", "\"", "<", ">", "|", ";", "\n" };private static Toast itoast = null;private static Toast mtoast = null;itoast = Toast.makeText(this, R.string.invalid_character, Toast.LENGTH_SHORT);mtoast = Toast.makeText(this, R.string.max_char_reached_msg, Toast.LENGTH_SHORT);editText.setFilters(getEditTextFilter());static public InputFilter[] getEditTextFilter(){InputFilter[] FilterArray = new InputFilter[2];//add by dan.yin 11-12-6//limit the input lengthclass SizeFilter implements InputFilter {private int mMax;public SizeFilter(int max) {mMax = max;}public CharSequence filter(CharSequence source, int start, int end,Spanned dest, int dstart, int dend) {int keep = mMax - (dest.length() - (dend - dstart));if (keep <= 0) {mtoast.cancel();mtoast.show();return "";} else if (keep >= end - start) {return null; } else {return source.subSequence(start, start + keep);}}}FilterArray[0] = new SizeFilter(50);//FilterArray[0] = new InputFilter.LengthFilter(50);FilterArray[1] = new InputFilter() {public CharSequence filter(CharSequence source, int start, int end,Spanned dest, int dstart, int dend) {for(int i=0; i<invalid_char.length; i++){if(source.toString().indexOf(invalid_char[i]) >= 0){itoast.cancel();itoast.show();return "";}}return null;}};return FilterArray; }
==========================another method============================================================
private Toast mToast = null;//mPlaylist.setFilters(new InputFilter[]{new InputFilter.LengthFilter(30)}); //256 mPlaylist.setFilters(new InputFilter[] { new InputFilter() { @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { int keep = 30 - (dest.length() - (dend - dstart)); if (keep <= 0) { showToast(R.string.max_char_reached_msg); return ""; } else if (keep >= end - start) { return null; }else { return source.subSequence(start, start + keep); } } } });private void showToast(int resId){ if(mToast == null) { mToast = Toast.makeText(this, resId, Toast.LENGTH_SHORT); } else{ mToast.cancel(); mToast.setText(resId); } mToast.show();}
- EditText输入限制setFilters
- EditText输入限制setFilters
- android的输入框EditText限制条件setFilters
- EditText限制文字输入
- EditText限制输入长度
- EditText限制输入字数
- 限制EditText输入字数
- android EditText输入限制
- android EditText输入限制
- EditText 字数限制输入
- Android EditText 输入限制
- android Edittext 限制输入
- EditText 输入字数限制
- android EditText输入限制
- android EditText输入限制
- EditText输入限制
- EditText输入小数位限制
- EditText限制输入
- DelayQueue 队列
- C语言中函数strcpy ,strncpy ,strlcpy的用法
- QML一点点注意的地方
- MTK 11A 集成第三方应用的方法
- SQL SERVER 究竟什么时候写日志?
- EditText输入限制setFilters
- JPDA:Java平台调试架构
- segmentation fault
- Linux下利用 VESA 进入XWindow的办法
- 随笔
- java 乱码
- 音频压缩工具——Speex的使用
- Android手机上监听短信的两种方式
- 企业级应用-Session对象的持久化