Показать клавишу «Готово» на клавиатуре - PullRequest
1 голос
/ 29 ноября 2011

Мне нужна программная клавиша для отображения клавиши «Готово» при вводе текста в EditText в моем приложении.На устройстве Android 2.1 отображается кнопка «Готово», но не на 2.3 или выше.

Я использую этот код:

    e.setImeOptions(EditorInfo.IME_ACTION_DONE);

    e.setOnEditorActionListener(
            new EditText.OnEditorActionListener() {
                @Override
                public boolean onEditorAction(TextView v, int actionId,KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_SEARCH ||
                            actionId == EditorInfo.IME_ACTION_DONE ||
                            event.getAction() == KeyEvent.ACTION_DOWN &&
                            event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
                        Toast.makeText(getBaseContext(), e.getText().toString(), Toast.LENGTH_SHORT).show();

                        InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                        imm.hideSoftInputFromWindow(e.getWindowToken(), 0);

                        return true;
                    }
                    return false;
                }
            });

Я использую устройство Samsung сВерсия Android 2.3.4.

Скриншот текста редактирования:

enter image description here

1 Ответ

2 голосов
/ 29 ноября 2011

Это не ошибка версии Android, а IME, используемый вашим устройством.Samsung (и некоторые из HTC, я думаю) IME никогда не меняет букву на «Готово», «Далее» или «Перейти».

...