Как добавить слова в предложения на верхней части программной клавиатуры - PullRequest
5 голосов
/ 28 марта 2010

Есть ли способ добавить слова к предложениям в программной клавиатуре? Для конкретного поля Edittext я хотел бы добавить список имен к предложениям, которые появляются в верхней части программной клавиатуры в Android 2.0.

Кто-нибудь знает, возможно ли это?

Ответы [ 2 ]

2 голосов
/ 28 марта 2010

Здесь - исходный код программной клавиатуры. Если вы пройдете по коду, то увидите, что он использует класс Suggest, внутри которого есть разные словари.

Если вы хотите добавить слова для определенного EditText, вам потребуется добавить и удалить или изменить частоту определенного слова из этих словарей.

Некоторые проблемы:

  • Я не смог найти способ получить экземпляр InputMethodService. (Если можете, пожалуйста, ответьте на мой вопрос здесь )
  • Android позволяет разработчикам программировать свои собственные InputMethodService . Я сам работаю над ним, и моя реализация не использует эти словари. Так что ваша функция не будет работать с моим IME.

Я бы предложил использовать Автозаполнение .

1 голос
/ 28 марта 2010

Вы не можете добавить дополнительные слова к тем, которые IME находит внутри, однако вы можете полностью продать свои собственные дополнения через InputMethodManager.displayCompletions ():

http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html#displayCompletions(android.view.View, android.view.inputmethod.CompletionInfo [])

Это - то, что автоматическое текстовое представление использует, чтобы показать его завершения в IME, когда IME полноэкранный режим, поэтому его нельзя увидеть. Обратите внимание, что ваше приложение по-прежнему отвечает за отображение завершений, поэтому они будут доступны пользователю, если IME не в полноэкранном режиме.

(И извините за отсутствие документации по этому методу.)

...