Question

My function, run from the onResume() does not cause the keyboard to appear.

Am I doing it wrong?

private void showKeyboard() {
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.showSoftInput(txtSearch, InputMethodManager.SHOW_FORCED);
txtSearch.requestFocus();}
Was it helpful?

Solution

The soft keyboard can be tricky sometimes. I belive the last line, txtSearch.requestFocus() is unnecessary, and could actually be screwing things up. By telling the keyboard to SHOW_FORCED on txtSearch you are already telling it to have focus.

OTHER TIPS

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); may help you. Note that there are Android devices with hardware-keyboards out there. e.G. GoogleTV devices often have no touchscreen but a hardware-keyboard. Some are even emulating the touchscreen.

This is relevant if you are developing in an emulator:

http://plainoldstan.blogspot.com/2010/09/android-set-focus-and-show-soft.html

"When experimenting I was not actually getting what I wanted until I realized I should have an emulator device with no hardware keyboard:"

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top