Android EditText输入最大值提示功能
2015-07-13 16:57
477 查看
public class LengthFilter implements InputFilter { public LengthFilter(int max) { mMax = max; } @Override 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) { if (mErrorToast == null) { mErrorToast = Toast.makeText(ShowDetailCommentActivity.this, R.string.comment_input_overflow, Toast.LENGTH_SHORT); } mErrorToast.show(); return ""; } else if (keep >= end - start) { return null; // keep original } else { keep += start; if (mErrorToast == null) { mErrorToast = Toast.makeText(ShowDetailCommentActivity.this, R.string.comment_input_overflow, Toast.LENGTH_SHORT); } mErrorToast.show(); if (Character.isHighSurrogate(source.charAt(keep - 1))) { --keep; if (keep == start) { return ""; } } return source.subSequence(start, keep); } } private int mMax; }
mEditText.setFilters(new InputFilter[] { new LengthFilter(mMaxTextNum) });
代码很少但有效,各位可以尝试一下。
作者:xzy2046,转载需注明。博客主页:http://blog.csdn.net/xzy2046
相关文章推荐
- android知识杂记(一)
- 【Android】设置全屏和横屏
- android studio配置AndroidAnnotations
- android新组件RecyclerView使用介绍和进阶使用
- android raw与assets区别
- Android开发之如何监听让服务不被杀死(service+broadcast)
- Android开发Button控件的圆角,边框
- Android性能优化典范---转
- android studio导入gitbub的library的步骤
- android线程池
- Android Studio 快捷键大全
- Android Unable to execute dex: Multiple dex files define异常解决
- android 随手涂鸦
- 条码扫描二维码扫描——ZXing android 源码简化
- android 的unregisterReceiver报错处理 提示“Receiver not registered”
- Android PullToRefresh 实战(ListView)
- Android存储方式的选择
- Android studio中Rendering Problems不能可视化操作的解决办法
- Android中dp、dip、px、sp之间的区别
- 史上最详细的Android Studio Gradle基础教程