Java ';IME选项';定义'时不工作;数字';在XML中

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应用程序中,我想让用户在编辑文本的某一点上键入全名。在这里,我需要以下行为

1) 。不应允许用户键入无效字符。为此,我使用了以下方法

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”
。它已被弃用,但在他们解决问题之前,您可以使用它