“imeoptions”在xml中定义“digits”时不起作用

yxyvkwin  于 2021-07-09  发布在  Java
关注(0)|答案(0)|浏览(249)

在我的android应用程序中,我想让用户在edittext中输入全名。我需要以下行为
1). 不应允许用户键入无效字符。为此,我使用了以下方法

android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "

2). 键盘应该有“actionnext”以方便移动到下一个字段。为此,我使用了以下方法

android:imeOptions="actionNext"

但是,当我如上所述指定数字时,它会释放actionnext,而不是get enter键(移动第2行)。。。
我的完整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,我仍然看到enter key(move next line)选项。
有人有办法解决这个问题吗。谢谢
编辑
我可以使用正则表达式验证或将edittext注册到keylister。但是寻找一个纯xml解决方案。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题