Ну, это делает меня немного сумасшедшим.Клавиша «Далее» на мягкой клавиатуре не отображается
У меня есть 2 поля «Редактировать текст» и кнопка. Я хочу, чтобы мягкая клавиатура отображалась, когда 1-й текст редактирования получает фокус. Я хочу, чтобы на мягкой клавиатуре отображалась клавиша «Далее», поэтому при нажатии курсора курсор переходит во второе поле «Редактировать текст».
Когда второе поле «Редактировать текст» получает курсор, я все же хочу, чтобы на мягкой клавиатуре отображалась «Следующая». Нажатие «Далее» теперь отключит мягкую клавиатуру и сделает фокус нажатием кнопки.
Вот мой код:
EditText editText1 = (EditText) findViewById(R.id.some_text_field);
EditText editText2 = (EditText) findViewById(R.id.some_other_text_field);
editText1.setInputType(EditorInfo.some constant);
editText1.setFocusable(true);
editText1.setFocusableInTouchMode(true);
if (editText1.requestFocus()){
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null){
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
}
}
editText1.setImeOptions(EditorInfo.IME_ACTION_NEXT);
editText1.setNextFocusDownId(R.id.some_other_text_field);
editText2.setInputType(EditorInfo.some other constant);
editText2.setFocusable(true);
editText2.setFocusableInTouchMode(true);
editText2.setImeOptions(EditorInfo.IME_ACTION_DONE);
Кажется довольно просто.
Дело в том, что при первом запуске (после установки приложения) editText1 получает фокус, а дисплей мягкой клавиатуры показывает, что клавиши «Далее» нет, вместо этого отображается «Готово». Нажатие кнопки «Готово» переводит вас в editText2 (как вы хотите) и меняет «Готово» на «Далее. Нажатие« Далее »теперь оставляет фокус на editText2 и отклоняет мягкую клавиатуру.
Если вы сейчас коснитесь editText1, дисплеи и клавиша «Next» выглядит как его предполагается.
Что я могу сделать, чтобы получить правильное поведение (editText1 получает фокус, «Next» отображается) произойдет при первом запуске этой деятельности?
Я думал, что editText1.setImeOptions (EditorInfo.IME_ACTION_NEXT) должен был отобразить клавишу «Далее». Что мне не хватает?
Я упомянул высоту и атрибут width в моем файле стилей. Однако приведенный выше пример, чтобы показать imeOptions – Chamu
да, я попробовал его в xml, и это не сработало. – user1126515