Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio 2.2输入类型不工作_Android_Android Studio_Android Edittext - Fatal编程技术网

Android Studio 2.2输入类型不工作

Android Studio 2.2输入类型不工作,android,android-studio,android-edittext,Android,Android Studio,Android Edittext,我已经从2.1升级到了Android Studio 2.2。现在,当我在EditText小部件上将inputType设置为text时,它不会限制我只输入文本。这种情况正在新项目中发生。我的老项目的概念工作得很好。Android Studio 2.2要求我更新Gradle plugin V2.2.1和2.14.1版本的旧项目。这是一个BUG还是我在XML文件中设置了错误? 我原以为这个问题可以用AS 2.2.1 build 145-3330264解决,但没有改变。我已经搜索了这么多,并尝试了与JU

我已经从2.1升级到了Android Studio 2.2。现在,当我在EditText小部件上将inputType设置为text时,它不会限制我只输入文本。这种情况正在新项目中发生。我的老项目的概念工作得很好。Android Studio 2.2要求我更新Gradle plugin V2.2.1和2.14.1版本的旧项目。这是一个BUG还是我在XML文件中设置了错误? 我原以为这个问题可以用AS 2.2.1 build 145-3330264解决,但没有改变。我已经搜索了这么多,并尝试了与JUnit4.12JAR相关的各种修复,这些修复在新项目中不存在,但没有结果

    <EditText
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:ems="10"
    android:text="Name"
    android:id="@+id/etPW"
    android:layout_marginTop="50dp"
    android:layout_marginLeft="140dp"
    android:textColor="@android:color/black"
    android:textStyle="bold"
    android:textSize="16sp"
    android:inputType="text"
    android:gravity="bottom"/>

您可以将其添加到XML中:

android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

这应该不允许输入数字(或标点符号,所以添加您希望允许的任何字符)。我测试了它,它对我有效。

您可以将此添加到XML中:

android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

这应该不允许输入数字(或标点符号,所以添加您希望允许的任何字符)。我测试了它,它对我有效。

有人问过类似的问题

我将重复回答:

这两个人中的任何一个

XML:


有人提出了类似的问题

我将重复回答:

这两个人中的任何一个

XML:


您希望android:inputType=“text”阻止什么内容?这个输入类型允许任何文本,我最后一次检查。@commonware我希望ET字段能够阻止数字的输入,过去它的工作方式和预期的不一样,现在没有那么多了。抱歉,我没有解释错误,android:inputType=“text”不会阻止数字输入。这是
EditText
的默认输入类型。你可以输入任何你想要的东西。我不知道有哪种输入类型会阻止输入数字。@Commonware否ET仍然允许我输入数字。我正在使用键盘输入值,但在模拟器上测试了键盘。我是一名7年级学生,没有真正的设备来测试“不,ET仍然允许我输入数字”——正确。好了,没有阻止数字输入的
android:inputType
值。您希望被
android:inputType=“text”
阻止的到底是什么?这个输入类型允许任何文本,我最后一次检查。@commonware我希望ET字段能够阻止数字的输入,过去它的工作方式和预期的不一样,现在没有那么多了。抱歉,我没有解释错误,android:inputType=“text”不会阻止数字输入。这是
EditText
的默认输入类型。你可以输入任何你想要的东西。我不知道有哪种输入类型会阻止输入数字。@Commonware否ET仍然允许我输入数字。我正在使用键盘输入值,但在模拟器上测试了键盘。我是一名7年级学生,没有真正的设备来测试“不,ET仍然允许我输入数字”——正确。顺便说一下,android:inputType没有阻止数字输入的
value。这个语法或概念是什么时候被纳入android Studio的?它工作得很好,所以我会投票。因此,如果我只知道数字中的字符是允许的,那么对于密码字段,我会使用这个而不是Regex?@James_Duh我不确定它可用了多长时间,但它是用于数字输入的。但是,如果您允许输入文本,则仍可以将输入限制为指定的“数字”。我不能说你是否应该用这个来代替正则表达式,这将是一个设计选择,取决于你知道的某些标准。我真的很困惑,因为我以前的项目不需要这一行代码,而费多尔·齐加诺夫(Fedor Tsyganov)从一篇6年前的帖子中找到了答案,我不得不想知道谷歌在做什么。你的一行代码很简单,但我花了很多时间学习正则表达式,所以当这个语法或概念是否已经融入到Android Studio中?它工作得很好,所以我会投票。因此,如果我只知道数字中的字符是允许的,那么对于密码字段,我会使用这个而不是Regex?@James_Duh我不确定它可用了多长时间,但它是用于数字输入的。但是,如果您允许输入文本,则仍可以将输入限制为指定的“数字”。我不能说你是否应该用这个来代替正则表达式,这将是一个设计选择,取决于你知道的某些标准。我真的很困惑,因为我以前的项目不需要这一行代码,当Fedor Tsyganov从一篇6年前的帖子中找到答案时,我不得不想知道Google在做什么。你的一行代码很简单,但我花了很多时间学习Regex,所以你的评论非常感谢
EditText state = (EditText) findViewById(R.id.editText);

Pattern ps = Pattern.compile("^[a-zA-Z ]+$");
Matcher ms = ps.matcher(state.getText().toString());
boolean bs = ms.matches();
if (bs == false) {
    if (ErrorMessage.contains("invalid"))
        ErrorMessage = ErrorMessage + "state,";
    else
        ErrorMessage = ErrorMessage + "invalid state,";