我已经从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"/>
答案 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,";