我的函数,从onResume()运行不会导致键盘出现。
我做错了吗?
private void showKeyboard() {
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.showSoftInput(txtSearch, InputMethodManager.SHOW_FORCED);
txtSearch.requestFocus();}
答案 0 :(得分:0)
软键盘有时会很棘手。我相信最后一行,txtSearch.requestFocus()
是不必要的,实际上可能搞砸了。通过告诉键盘在txtSearch上显示SHOW_FORCED,你已经告诉它要有焦点。
答案 1 :(得分:0)
getWindow()setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)。 可以帮到你。 请注意,有些设备带有硬件键盘。 例如。 GoogleTV设备通常没有触摸屏,只有硬件键盘。 有些甚至模仿触摸屏。
如果您在模拟器中进行开发,这是相关的:
http://plainoldstan.blogspot.com/2010/09/android-set-focus-and-show-soft.html
“在进行实验时我实际上并没有得到我想要的东西,直到我意识到我应该有一个没有硬件键盘的仿真器设备:”