我在我的項目中有一個EditText字段,它代表了個人的全名。所以我只想在它中允許字母和空格。所以我嘗試了下面在XML
文件製作一個EditText字段只接受Android中的字母和空格
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
但它並沒有work.Can誰能告訴我該怎麼辦呢?
我在我的項目中有一個EditText字段,它代表了個人的全名。所以我只想在它中允許字母和空格。所以我嘗試了下面在XML
文件製作一個EditText字段只接受Android中的字母和空格
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
但它並沒有work.Can誰能告訴我該怎麼辦呢?
試試這個:
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 "";
}
}
});
使用正則表達式.. 模式應該是
Full_Name_Pattern = "[A-Z][a-z]+([A-Z][a-z]+)*";
在你的EditText標籤添加此行。
機器人:位= 「abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ」
你的EditText標籤應該是這樣的:
<EditText
android:id="@+id/edt"
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
它完美而無需驗證條件
正則表達式 src.toString().matches("[a-zA-Z ]+")
不夠公平,如果這是再簡單地之間增加空間的情況下。
機器人:位= 「ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ」
使用您在您的layout.xml
以下。
<EditText android:inputType="textPersonName" />
由於某些原因,包含「\ n」不能出現在字符串末尾,我搜索了Google文檔,大部分都沒有找到。實現空格和換行的唯一方法是在字符串的中間。查看我在其中一個應用中使用的示例。
android:digits="aãâáàbcçdeéfghiíjklmnoõôóòpqrstuvwxyzAÃÂÁÀBCÇDEÉFGHIÍJKLMNOÕÔÓÒ[email protected]_'+=(){}[]*%$#!?,.;\n: /?\\"
在你的字符串之間試試這個
android:digits="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ"
看跌空間。如果您將空格放在一個字符串的末尾,它將自動刪除。
我已經小寫字母結束和大寫字母開始
這個工作對我來說(在中間的空白,而不是在年底) 的Android之後使用空間:數字=「ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ」
請在下面的字符串之間加上空格,它是工作代碼。在你的字符串之間
android:digits="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ"
認沽空間 - :
android:digits="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ "
以下變化爲我工作。如果你把空格放在一個字符串的末尾,它會自動修剪掉。
我在小字母結尾並以大寫字母開頭後使用了空格。
感謝它幫助我 – 2017-10-02 09:49:46
但上述不會允許空格... – 2014-09-26 10:29:15
@AchuthanM允許空間在問題中沒有提及。 – 2017-02-28 08:19:10
@AchuthanM如果是這種情況,那麼只需在兩者之間添加**'space'即可。 – Gattsu 2017-02-28 11:26:12