Показать кнопку «Готово» на программной клавиатуре

Мне нужна программная клавиатура для отображения клавиши «Готово» при вводе текста в 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.

Скриншот редактируемого текста:

введите здесь описание изображения


person M.A.Murali    schedule 29.11.2011    source источник
comment
вместо done клавиша ввода будет выполнять ту же работу.   -  person Padma Kumar    schedule 29.11.2011
comment
Ответ на этот вопрос помочь? Это предполагает, что вы должны включить однострочный флаг, но это может работать или не работать для вашего пользовательского интерфейса.   -  person Alex Florescu    schedule 29.11.2011


Ответы (1)


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

person Anh Tuan    schedule 29.11.2011
comment
Спасибо, это работает. символ ввода реагирует как кнопки «Готово», «Далее», «Перейти» - person M.A.Murali; 29.11.2011