Мне удалось найти решение, отличное от изменения положения моего Spinner. В EditText перед спиннером добавьте этот слушатель:
editTextBefore.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_NEXT) {
hideKeyboard();
textView.clearFocus();
spinner.requestFocus();
spinner.performClick();
}
return true;
}
});
Вам также нужно добавить эти строки в способный спиннер, чтобы получить фокус:
spinner.setFocusable(true); // can be done in XML preferrable
Моя функция hideKeyboard была просто визуальной деталью, которую я хотел добавить, чтобы клавиатура была скрыта:
private void hideKeyboard() {
InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
}
Надеюсь, я помог в этом сложном вопросе.
Флаг InputMethodManager.HIDE_NOT_ALWAYS
может быть найден в документации .