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"  
    /> 

  • 相关阅读:
    Delphi 获取时间的年月日
    Tlist删除技巧
    SQL Server 2008 允许远程连接的配置
    initialization & finalization
    display属性(元素转换)
    float 浮动
    盒模型
    行内元素和块级元素水平及垂直居中
    html常用的几个标签
    html基础
  • 原文地址:https://www.cnblogs.com/merryjd/p/2856653.html
Copyright © 2011-2022 走看看