我在我的项目中有一个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