我想在用户按下搜索硬件搜索键时弹出软键盘。
目前我使用以下功能似乎不适用于搜索键,但它适用于后退键: 通过搜索键,日志记录甚至不会被触发。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
Log.v(TAG, "On back key press");
renderPrevious();
return false;
}
if(keyCode == KeyEvent.KEYCODE_SEARCH){
Log.v(TAG, "On search key press");
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
return false;
}
return true;
}
我没有文本字段,但是如果重要的话,我想直接自己处理输入。
答案 0 :(得分:1)
此方法setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
不会唤醒键盘。检查此link。有关它的更多信息请查看此example。希望它有所帮助
编辑:
答案 1 :(得分:0)
也许这会有所帮助:
InputMethodManager inputMgr = (InputMethodManager)getSystemService Context.INPUT_METHOD_SERVICE);
inputMgr.toggleSoftInput(0, 0);
答案 2 :(得分:0)
http://plainoldstan.blogspot.com/2010/09/android-set-focus-and-show-soft.html
“在进行实验时我实际上并没有得到我想要的东西,直到我意识到我应该有一个没有硬件键盘的仿真器设备:”