Android Studio 2.2 inputType无效

时间:2016-10-11 18:14:51

标签: android android-studio android-edittext

我已经从2.1升级到Android Studio 2.2现在当我将EditType设置为EditText小部件上的文本时,它不会仅限制我的文本输入。这是在新项目上发生的。我的旧项目这个概念很好。 Android Studio 2.2要求我在旧项目上更新Gradle插件V 2.2.1和版本2.14.1。这是一个BUG还是我在XML文件中设置错误了? 我认为这个问题将通过AS 2.2.1 build 145-3330264修复,但没有变化。我搜索了SO并尝试了与junit 4.12 jar相关的各种修复程序,这些修补程序在没有结果的新项目中不存在。

    <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"/>

2 个答案:

答案 0 :(得分:3)

您可以将其添加到您的XML:

android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

这不应该允许输入数字(或标点符号,因此添加您想要允许的任何字符)。我测试了它,它对我有用。

答案 1 :(得分:1)

类似问题被问到here

我会复制答案:

这两者中的任何一个。

XML:

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

爪哇:

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,";