В XML макета можно указать, android:imeOptions="actionNext"
какая Next
кнопка добавляет на виртуальную клавиатуру, и при нажатии на нее фокус переходит на следующее поле.
Как сделать это программно - например, на основе фокуса триггера какого-либо события перейти к следующему полю?
android
android-widget
Лаймонциюс
источник
источник
Найдите следующее фокусируемое поле и вызовите его
requestFocus()
.источник
Просто предложение, если вы используете
EditTextSample.setImeOptions(EditorInfo.IME_ACTION_DONE);
это не работает, убедитесь, что ваш EditText использует одну строку.
источник
Всегда есть необходимость добавлять дополнительные клавиши помимо клавиш по умолчанию, доступных на виртуальной
QWERTY
клавиатуре.Использование XML
<EditText android:text="@+id/EditText01" android:id="@+id/EditText01" android:layout_height="wrap_content" android:layout_width="fill_parent" android:imeOptions="actionDone"/>
By Programmatic Way
EditorInfo
Наиболее полезный класс , когда вам приходится иметь дело с любым типом пользовательского ввода в вашем Android приложения.IME_ACTION_DONE:
Это действие выполняет операцию «готово», и IME закрывается.EditTextSample.setImeOptions(EditorInfo.IME_ACTION_DONE);
Для получения дополнительной информации посетите http://developer.android.com/reference/android/view/inputmethod/EditorInfo.html.
источник
Кулон котлин
editText.imeOptions = EditorInfo.IME_ACTION_DONE
источник
editText.setLines(1); editText.setSingleLine(true); editText.setImeOptions(EditorInfo.IME_ACTION_GO);
Я решаю проблему, убедитесь, что с одной строкой, и перейдите к следующему editText, когда нажмите Enter
источник
В моем случае установите imeOptions, чтобы устранить проблему.
edtAnswer.maxLines = 1 edtAnswer.inputType = InputType.TYPE_CLASS_TEXT edtAnswer.imeOptions = EditorInfo.IME_ACTION_NEXT
источник
Вы можете сделать это
edittext.imeOptions = EditorInfo.IME_ACTION_DONE //for done button
или
edittext.imeOptions = EditorInfo.IME_ACTION_NEXT //for next button
Но ... вы должны понимать, что если вы используете фильтры для редактирования текста, вам нужно установить
edittext.setSingleLine()
источник