2014-02-20 56 views
-1

我有一個編輯文本。我已經設置屬性android:maxLength =「35」來限制長度。它工作正常。但是,當我使用下面的代碼來限制編輯文本只接受字母,我可以輸入超過35個字符。如何限制android編輯文本只接受字母和長度

etLastName.setFilters(new InputFilter[] { 
       new InputFilter() { 
        public CharSequence filter(CharSequence src, int start, 
          int end, Spanned dst, int dstart, int dend) { 
         if(src.equals("")){ // for backspace 
          return src; 
         } 
         if(src.toString().matches("[a-zA-Z ]+")){ 
          return src; 
         } 
         return ""; 
        } 
       } 
      }); 

請幫助我如何在我的編輯文本上應用這兩個條件。

回答

0

請嘗試以下代碼。

etLastName.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE); 

並將android:maxLength="35"設置爲xml文件中的edittext屬性。

0

嘗試在佈局文件中添加此屬性的EditText上:

android:maxLength="35" 
+0

哎呀!我的錯... :) –

1

您可以嘗試的android:數字財產和XML本身什麼是有效的字符爲您指定。而對於限制長度,也可以像其他人所說的那樣使用android:maxLength屬性。

一樣,

android:digits="ABCDEFGH..." 
android:maxLength=35; 

但是對EditText上輸入過濾器的複雜的限制和驗證是比較合適的。所以你已經做得很好。 :)

我正在尋找輸入過濾器,我發現你想要什麼,

InputFilter.LengthFilter(int max); //sets the maxlength 

編碼愉快。 :)

相關問題