Java ';IME选项';定义'时不工作;数字';在XML中
在我的Android应用程序中,我想让用户在编辑文本的某一点上键入全名。在这里,我需要以下行为 1) 。不应允许用户键入无效字符。为此,我使用了以下方法Java ';IME选项';定义'时不工作;数字';在XML中,java,android,android-edittext,Java,Android,Android Edittext,在我的Android应用程序中,我想让用户在编辑文本的某一点上键入全名。在这里,我需要以下行为 1) 。不应允许用户键入无效字符。为此,我使用了以下方法 android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ " android:imeOptions="actionNext" 2) 。键盘上应该有“ActionNext”,以便轻松移动到下一个字段。为此,我使用了以下方法 android:digits="abcd
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
android:imeOptions="actionNext"
2) 。键盘上应该有“ActionNext”,以便轻松移动到下一个字段。为此,我使用了以下方法
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
android:imeOptions="actionNext"
但是,当我如上所述指定数字时,它会松开ActionNext,取而代之的是获得回车键(移动第二行)
我的完整xml如下所示
<EditText
android:id="@+id/editText_FullName"
android:layout_width="300dp"
android:layout_height="40dp"
android:inputType="textCapWords"
android:maxLength="40"
android:layout_marginStart="10dp"
android:textSize="16sp"
android:typeface="normal"
android:longClickable="false"
android:lines="1"
android:scrollHorizontally="false"
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
android:imeOptions="actionNext"/>
我在谷歌搜索后发现,它说要使用android:singleLine=“true”
来解决这个问题。是的,修复问题,但此属性已被弃用,Android Studio建议使用Android:maxLines=“1”
,它同样不会修复问题,并在键盘中释放ActionNext。基本上,我看到的不是ActionNext,而是Enter键(移动下一行)选项
有人能解决这个问题吗。谢谢
编辑
我可以使用正则表达式验证或将EditText注册到KeyListener。但是寻找一个纯xml解决方案 似乎唯一的方法就是添加
android:singleLine=“true”
。它已被弃用,但在他们解决问题之前,您可以使用它