• Android3种方式限制EditView输入字数


    editText.addTextChangedListener(new TextWatcher() {   
               private CharSequence temp;   
               private boolean isEdit = true;   
               private int selectionStart ;   
               private int selectionEnd ;   
               @Override  
               public void beforeTextChanged(CharSequence s, int arg1, int arg2,   
                       int arg3) {   
                   temp = s;   
               }   
                  
               @Override  
               public void onTextChanged(CharSequence s, int arg1, int arg2,   
                       int arg3) {   
               }   
                  
               @Override  
               public void afterTextChanged(Editable s) {   
                    selectionStart = editText.getSelectionStart();   
                   selectionEnd = editText.getSelectionEnd();   
                   Log.i("gongbiao1",""+selectionStart);   
                   if (temp.length() > Constant.TEXT_MAX) {   
                       Toast.makeText(KaguHomeActivity.this,   
                               R.string.edit_content_limit, Toast.LENGTH_SHORT)   
                               .show();   
                       s.delete(selectionStart-1, selectionEnd);   
                       int tempSelection = selectionStart;   
                       editText.setText(s);   
                       editText.setSelection(tempSelection);   
                   }   
               }   
      
      
           }); 

     editText.addTextChangedListener(new TextWatcher() {
                private CharSequence temp;
                private boolean isEdit = true;
                private int selectionStart ;
                private int selectionEnd ;
                @Override
                public void beforeTextChanged(CharSequence s, int arg1, int arg2,
                        int arg3) {
                    temp = s;
                }
                
                @Override
                public void onTextChanged(CharSequence s, int arg1, int arg2,
                        int arg3) {
                }
                
                @Override
                public void afterTextChanged(Editable s) {
                     selectionStart = editText.getSelectionStart();
                    selectionEnd = editText.getSelectionEnd();
                    Log.i("gongbiao1",""+selectionStart);
                    if (temp.length() > Constant.TEXT_MAX) {
                        Toast.makeText(KaguHomeActivity.this,
                                R.string.edit_content_limit, Toast.LENGTH_SHORT)
                                .show();
                        s.delete(selectionStart-1, selectionEnd);
                        int tempSelection = selectionStart;
                        editText.setText(s);
                        editText.setSelection(tempSelection);
                    }
                }


            });
     

    方法二:利用InputFilter

        


    editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(100)});  //其中100最大输入字数 

    editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(100)});  //其中100最大输入字数

    方法三:在XML中设定

    Xml代码 
    <EditText  
        .   
        .   
        .   
        Android:maxLength="100"  
    /> 

  • 相关阅读:
    【刷题】LOJ 6038 「雅礼集训 2017 Day5」远行
    【刷题】BZOJ 4650 [Noi2016]优秀的拆分
    【刷题】BZOJ 4566 [Haoi2016]找相同字符
    【刷题】BZOJ 3238 [Ahoi2013]差异
    微信公众号_订阅号_被动回复用户消息
    艺术模板 art-template-web
    AJAX_违反了同源策略_就是"跨域"——jsonp 和 cors
    Ajax_简介: 异步的 JS 和 XML_原生写 ajax 分析其原理_jquery_ajax_art-template
    Node.js_express_临时会话对象 session
    BOM 浏览器对象模型_XMLHttpRequest 对象
  • 原文地址:https://www.cnblogs.com/merryjd/p/2856653.html
Copyright © 2020-2023  润新知