Android: не могу понять, как использовать setImeActionLabel

То, что я хочу сделать, это изменить стандартную метку «Готово», которая появляется на виртуальной клавиатуре. Вот что я пробовал без везения:

mSearchInput.setImeOptions(EditorInfo.IME_ACTION_DONE); mSearchInput.setImeActionLabel(getString(R.string.search_action_label), EditorInfo.IME_ACTION_DONE); 

Однако я могу обработать щелчок по этой кнопке, при этом:

 mSearchInput.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_DONE) { performSearch(); return true; } return false; } }); 

Я не знаю, как я могу изменить ярлык на этой кнопке на данный момент.

imeActionLabel устанавливает метку для кнопки, которая отображается в правом верхнем углу полноэкранного режима IME (т. imeActionLabel Когда ваш телефон находится в альбомной ориентации). Если вы хотите изменить кнопку в правом нижнем углу клавиатуры, вы можете передать определенные флаги в imeOptions .

Насколько я знаю, для этой кнопки вы ограничены определенным набором действий (см. Полный список поддерживаемых флагов), но поскольку вам кажется, что вы хотите кнопку поиска, все, что вам нужно сделать, это слегка настроить вашей первой строке и используйте IME_ACTION_SEARCH :

 mSearchInput.setImeOptions(EditorInfo.IME_ACTION_SEARCH); 

Имейте в виду, что точное появление этой кнопки будет зависеть от метода ввода. Клавиатура Android по умолчанию показывает лупу для флага поиска, в то время как сенсорный ввод (клавиатура HTC) кажется совершенно не осведомленным об этом флаге, все еще отображая кнопку возврата.

  • XMPP с библиотекой Java Asmack, поддерживающей X-FACEBOOK-PLATFORM
  • Android java.lang.VerifyError?
  • декомпиляция DEX в исходный код Java
  • Мне нужен альтернативный вариант для HttpClient в Android для отправки данных на PHP, поскольку он больше не поддерживается
  • Загрузите файл с Android и покажите прогресс в ProgressDialog
  • Можно ли объявить переменную в Gradle, используемой в Java?
  • Render PDF-файл с помощью Java на Android
  • getHeight возвращает 0 для всех объектов Android UI
  • Проверка, является ли строка пустой или пустой в Java
  • Android, Java: HTTP POST Request
  • Как удалить материал, напечатанный на консоль System.out.println ()?
  • Interesting Posts
    Давайте будем гением компьютера.