2014-09-26 41 views

回答

13

試試這個:

EditText yourEditText = (EditText) findViewById(R.id.yourEditText); 
yourEditText.setFilters(new InputFilter[] { 
    new InputFilter() { 
     @Override 
     public CharSequence filter(CharSequence cs, int start, 
        int end, Spanned spanned, int dStart, int dEnd) { 
      // TODO Auto-generated method stub 
      if(cs.equals("")){ // for backspace 
       return cs; 
      } 
      if(cs.toString().matches("[a-zA-Z ]+")){ 
       return cs; 
      } 
      return ""; 
     } 
    } 
}); 
0

使用正則表達式.. 模式應該是

Full_Name_Pattern = "[A-Z][a-z]+([A-Z][a-z]+)*"; 
3

在你的EditText標籤添加此行。

機器人:位= 「abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ」

你的EditText標籤應該是這樣的:

<EditText 
     android:id="@+id/edt" 
     android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" /> 

它完美而無需驗證條件


更新1

正則表達式 src.toString().matches("[a-zA-Z ]+")


更新2

不夠公平,如果這是再簡單地之間增加空間的情況下。

機器人:位= 「ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ」

+2

但上述不會允許空格... – 2014-09-26 10:29:15

+1

@AchuthanM允許空間在問題中沒有提及。 – 2017-02-28 08:19:10

+0

@AchuthanM如果是這種情況,那麼只需在兩者之間添加**'space'即可。 – Gattsu 2017-02-28 11:26:12

0

使用您在您的layout.xml以下。

<EditText android:inputType="textPersonName" /> 
2

由於某些原因,包含「\ n」不能出現在字符串末尾,我搜索了Google文檔,大部分都沒有找到。實現空格和換行的唯一方法是在字符串的中間。查看我在其中一個應用中使用的示例。

android:digits="aãâáàbcçdeéfghiíjklmnoõôóòpqrstuvwxyzAÃÂÁÀBCÇDEÉFGHIÍJKLMNOÕÔÓÒ[email protected]_'+=(){}[]*%$#!?,.;\n: /?\\" 
3

在你的字符串之間試試這個

android:digits="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ"

看跌空間。如果您將空格放在一個字符串的末尾,它將自動刪除。

我已經小寫字母結束和大寫字母開始

+0

爲什麼這個工作,而OP的字符串不?請解釋。 – feedMe 2017-02-17 13:15:13

+0

我已經使用這個,這對我有用。如果在字符串之後或字符串之前添加空格,它將被修剪 – 2017-02-20 05:28:32

+0

@feedMe OP最後添加了空格,如果在字符串之後添加空格,則會被忽略。 – Gattsu 2017-08-31 05:52:25

0

這個工作對我來說(在中間的空白,而不是在年底) 的Android之後使用空間:數字=「ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ」

1

請在下面的字符串之間加上空格,它是工作代碼。在你的字符串之間

android:digits="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ" 

認沽空間 - :

android:digits="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ " 
5

以下變化爲我工作。如果你把空格放在一個字符串的末尾,它會自動修剪掉。

我在小字母結尾並以大寫字母開頭後使用了空格。

+0

感謝它幫助我 – 2017-10-02 09:49:46

相關問題