有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在XML中定义“数字”时,java“imeOptions”不起作用

在我的Android应用程序中,我想让用户在编辑文本中输入全名。在这里,我需要以下行为

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

安卓:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "

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

安卓:imeOptions="actionNext"

但是,当我像上面那样指定数字时,它会松开ActionNext,取而代之的是获得回车键(移动第二行)

我的完整xml如下所示

<EditText
    安卓:id="@+id/editText_FullName"
    安卓:layout_width="300dp"
    安卓:layout_height="40dp"
    安卓:inputType="textCapWords"
    安卓:maxLength="40"
    安卓:layout_marginStart="10dp"
    安卓:textSize="16sp"
    安卓:typeface="normal"
    安卓:longClickable="false"
    安卓:lines="1"
    安卓:scrollHorizontally="false"
    安卓:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
    安卓:imeOptions="actionNext"/>

我在谷歌上搜索后发现它说用安卓:singleLine="true"来解决这个问题。是的,修复了这个问题,但是这个属性已经被弃用了,Android Studio建议使用安卓:maxLines="1",它同样无法修复这个问题,并且在键盘上松开了ActionNext。基本上,我看到的不是ActionNext,而是Enter键(移动下一行)选项

有人能解决这个问题吗。谢谢

编辑

我可以使用正则表达式验证或将EditText注册到KeyListener。但是寻找一个纯xml解决方案


共 (0) 个答案