Следующая кнопка на клавиатуре Android на EditText - программирование
Подтвердить что ты не робот

Следующая кнопка на клавиатуре 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);
4b9b3361

Ответ 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"