2014-09-26 100 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

相关问题