我连续输入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。
如果有办法检测用户打开的键盘类型或其他一些处理方法,请告诉我
答案 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