zoukankan      html  css  js  c++  java
  • 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"  
    /> 

  • 相关阅读:
    【机器学习】sklearn之生成三类数据用于聚类,python
    【机器学习】sklearn之生成环形和半环型数据,python
    【机器学习】sklearn之创建数据集,python
    【python】使用plotly画三维立体高逼格图,数据可视化
    【python】使用jieba中的textrank提取文本/文章关键词,超简单!
    【python】使用jieba提取文本关键词,超简单!
    【机器学习】gensim.models.Word2Vec()参数的详细解释,python
    XP系统老电脑如何安装Linux系统
    PHP中派生是什么?
    MySQL中CURD是什么?
  • 原文地址:https://www.cnblogs.com/merryjd/p/2856653.html
Copyright © 2011-2022 走看看