Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
防止Android键盘恢复到字母模式_Android_Keyboard - Fatal编程技术网

防止Android键盘恢复到字母模式

防止Android键盘恢复到字母模式,android,keyboard,Android,Keyboard,我有一个应用程序,需要在编辑文本中输入一系列空格分隔的十六进制数字组(很像产品密钥),例如AB34 67EF… 问题是,每次输入一个数字加上空格,Android键盘就会自动切换回字母模式,这对用户来说既令人困惑又非常烦人 例如,当键入上述两组时,当按下“3”时,键盘将保持在数字模式,但当在“4”之后按空格键时,键盘将切换到字母模式,这意味着用户必须在输入“6”之前手动切换回数字模式 EditText控件(下面)为输入类型设置了textNoSuggestions标志,但无论我更改了什么输入类型和键

我有一个应用程序,需要在编辑文本中输入一系列空格分隔的十六进制数字组(很像产品密钥),例如
AB34 67EF…

问题是,每次输入一个数字加上空格,Android键盘就会自动切换回字母模式,这对用户来说既令人困惑又非常烦人

例如,当键入上述两组时,当按下“3”时,键盘将保持在数字模式,但当在“4”之后按空格键时,键盘将切换到字母模式,这意味着用户必须在输入“6”之前手动切换回数字模式

EditText控件(下面)为输入类型设置了textNoSuggestions标志,但无论我更改了什么输入类型和键盘设置,我都无法使键盘在空格后保持数字模式

   <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:inputType="textCapCharacters|textNoSuggestions"
        android:ems="10" >

        <requestFocus />
    </EditText>


输入空格字符后,有没有办法强制键盘保持当前模式,或者,有没有办法通过编程切换键盘模式?

我也需要同样的方法。inputType
textVisiblePassword
帮了我的忙。 参考:



用户如何输入空格?在我的SG3上,本机键盘在数字模式下没有空间。我把
android:inputType=“number”
放在一个解决方案中,我看到的一个解决方案是有4个编辑文本并将焦点从一个切换到另一个,这样用户只需填写他的代码,它们就很好地分开了。与其说是一个真正的解决方案,不如说是一个诡计,对不起。谢谢你的建议。该应用程序实际上是在平板电脑上运行的,所以空格键总是显示出来。但即使在我的Nexus4上,数字和符号模式中仍然有一个小空格键。你找到解决这个问题的方法了吗?我在Nexus5手机上发现了同样的问题。@AlejandroMezcua不太可能。我最终使用了一个TextWatcher来监视输入并适当地自动插入空格。但如果用户在数字模式下仍选择按空格键,键盘将恢复为字母。@adelphus OK,我的问题是我正在自动插入空格(或其他分隔符),因此如果用户切换到数字输入,在我放置分隔符后,键盘决定必须切换回QUERTY。但并不是每一部手机都会出现这种情况。Nexus 5和HTC One迷你版会自动改变,但Galaxy S4不会。我不知道如何检测键盘状态,也不知道如何将其保持在给定状态。
<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView1"
    android:layout_below="@+id/textView1"
    android:inputType="textVisiblePassword|textCapCharacters"
    android:ems="10" >

    <requestFocus />
</EditText>