Следующая кнопка на клавиатуре Android на EditText
Я столкнулся с проблемой: у меня есть поля имени пользователя и пароля для активности, теперь, когда я нажимаю на клавиатуру имени пользователя, но не нажимаю на нее следующую кнопку, и я не могу перейти к следующему элементу управления Edittext через клавиатуру, в этом случае клавиатура отображает кнопку ввода в он как прикрепленный в скриншоте, который увеличивает его высоту,
кто-нибудь подскажет мне, что является решением этой проблемы (чтобы отобразить следующую кнопку на edittext)?
любая помощь будет оценена
![enter image description here]()
Мой код
txtUserid = (EditText)findViewById(R.id.txtUserID);
txtUserPasword = (EditText)findViewById(R.id.txtPassword);
txtUserid.setNextFocusDownId(R.id.txtPassword);
txtUserPasword.setNextFocusDownId(R.id.btnLogin);
Ответы
Ответ 1
добавьте эти строки под вашими строками кода, которые вы указали:
txtUserid.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER))
{
// Perform action on Enter key press
txtUserid.clearFocus();
txtUserPasword.requestFocus();
return true;
}
return false;
}
});
txtUserPasword.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER))
{
// Perform action on Enter key press
// check for username - password correctness here
return true;
}
return false;
}
});
Ответ 2
Добавьте android:singleLine="true" android:nextFocusDown="@+id/textView2"
в свой xml.
Будет отображать следующий ключ, а также перейти к следующему полю.
Ответ 3
В вашем макете просто установите атрибуты XML android:imeOptions="actionNext"
для трех первых текстовых полей и android:imeOptions="actionDone"
для последнего.
Дополнительные примеры
Ответ 4
Если ваш EditText должен иметь только одну строку, добавьте в свой XML-атрибут android:singleLine="true"
, который удалит клавишу Enter и заменит ее кнопкой Next/Done.
Ответ 5
используйте этот атрибут:
android:inputType="textPersonName"
Ответ 6
Еще одно лучшее решение:
android:singleLine="true"
android:imeOptions="next"
Ответ 7
Просто добавьте android: singleLine = "true" в тег EditText в макете XML..
Ответ 8
Просто добавьте android: singleLine = "true" вам не нужен этот код для
Ответ 9
добавьте свой xml-макет,
предположим, что u хочет 4 edittext в строке, поэтому первые три editext u установлены ниже,
android:imeOptions="actionNext"
и последний один editext u set
android:imeOptions="actionDone"
u добавить строку так добавить, Использовать
android:singleLine="true"