有没有办法检测可见的softInput键盘的类型

时间:2015-02-11 08:55:44

标签: android android-softkeyboard

我连续输入6 EditText来输入mac地址,因此在验证macAddress EditText中的用户输入后,如果没有。一个EditText中的条目变为2,我会将焦点称为下一个编辑框,如下所示。

    @Override
    public void onTextChanged(CharSequence s, int start, int before,
            int count) {
        //myMacArray is an array for storing macaddress editTexts ID
        //mIndex represents the the index for for each EditText
        if((myMacArray [mIndex]).getText().length() == 2)
            if(mIndex < 5)
                myMacArray [mIndex+1].requestFocus();//requesting focus to 
                                                     //next editText
    }

现在,如果用户正在使用软Qwerty键盘,那么它的工作正常....但是如果用户想要输入“1b”,则在3X4键盘的情况下(在3x4键盘中输入“b”将需要按下任何macAddress的editText中的第二个按钮两次),它不会工作,因为焦点现在在第一次用户点击后转移到下一个editBox。

如果有办法检测用户打开的键盘类型或其他一些处理方法,请告诉我

1 个答案:

答案 0 :(得分:0)

你可以强迫&#34;通过指定

来创建键盘的类型
android:inputType="<...>"
您的edittext中的

属性。如果您的用户打算输入字母和数字,则没有理由让他们使用电话簿。

https://developer.android.com/training/keyboard-input/style.html https://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType