tags:

views:

88

answers:

2

Is there any way to add words to the suggestions in the soft keyboard? For a specific Edittext field i would like to add a list of names to the suggestions that pops up on top of the soft keyboard in android 2.0.

Does anyone know if this is possible?

+1  A: 

Here is the source code of the soft keyboard. If you go through the code, you will see that it uses a Suggest class which inside has different dictionaries.

If you want to add words for a specific EditText you would need to add and remove or change freq of a certain word from those dictionaries.

Some issues:

  • I couldn't find a way to get the InputMethodService's instance. (If you can, please answer my question here)
  • Android allows developers to program their own InputMethodService. I am working on one myself and my implementation doesn't use that dictionaries. So your feature will not work with my IME.

I would suggest using Auto Complete.

Macarse
Thanks for the insights, i think i will use auto complete.
Wilken
A: 

You can't add additional words to the ones the IME finds internally, however you can whole-sale supply your own completions via InputMethodManager.displayCompletions():

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

This is what the auto complete text view uses to show its completions in the IME, when the IME is full screen so it can't be seen. Note that your app is still responsible for showing the completions itself, so they will be available to the user if the IME is not full screen.

(And sorry about the lack of documentation on that method.)

hackbod
thanks for the insight, i guess the suggestions wasn't meant to be used this way, so i'll stick with auto complete for now
Wilken