zoukankan      html  css  js  c++  java
  • Android EditText输入最大值提示功能

    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
  • 相关阅读:
    7进程、线程、协程
    架构
    5oop面向对象编程
    2流程控制
    redis
    1HTML
    3.函数、递归、模块
    2、变量、数据类型、运算符、流程控制
    一个小公司的性能测试工程师应该如何开展工作
    程序代码调优工具perf学习记录
  • 原文地址:https://www.cnblogs.com/tianzhijiexian/p/4643338.html
Copyright © 2011-2022 走看看