Android editText 輸入字數限制

來源:互聯網
上載者:User

方法一:

view plaincopy to clipboardprint?
// 輸入框限制輸入字數  
        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);
                }
            }
 
 
        });

方法二:
利用EditText 可以設定filter的特性,自訂一個LengthFilter,當輸入字數超過限制時 ,做出自訂的提示

view plaincopy to clipboardprint?
// 輸入框限制輸入字數  
       InputFilter[] filters = new InputFilter[1]; 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.