Делаю форму, для которой критична скорость заполнения. Решил сделать так: в EditTextA вводим текст, нажимаем enter, и сразу можно вводить текст в EditTextB, без нажатия на него. Но при клике на enter клавиатура не появляется, хотя курсор перемещается с EditTextA на EditTextB.
fieldA.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {
if (keyEvent.getAction() == KeyEvent.ACTION_DOWN &&
keyCode == KeyEvent.KEYCODE_ENTER) {
Object service = getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
if (service != null) {
((InputMethodManager) service).hideSoftInputFromWindow(fieldA.getWindowToken(), 0);
fieldB.requestFocus();
((InputMethodManager) service).showSoftInput(fieldB, InputMethodManager.SHOW_IMPLICIT);
}
return true;
}
return false;
}
});
Пробовал различные комбинации трёх строк внутри блока if, результат один.
Возможно дело в параметре android:imeOptions для EditTextA?