8

我有一个应用程序,它需要将一系列以空格分隔的十六进制数字组(很像产品密钥)输入到 EditText 中,例如AB34 67EF ...

问题是每次输入数字后跟空格时,Android 键盘都会自动切换回字母模式,这对用户来说既令人困惑又非常烦人。

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

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

   <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>

输入空格字符后,是否有任何方法可以强制键盘保持当前模式,或者以编程方式切换键盘模式?

4

1 回答 1

3

我需要同样的。inputTypetextVisiblePassword对我有用。参考:输入类型

<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>
于 2018-08-06T21:30:48.737 回答