在Android上引入软键盘

时间:2010-07-08 10:55:20

标签: android

我想在用户按下搜索硬件搜索键时弹出软键盘。

目前我使用以下功能似乎不适用于搜索键,但它适用于后退键: 通过搜索键,日志记录甚至不会被触发。

@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;
    }

我没有文本字段,但是如果重要的话,我想直接自己处理输入。

3 个答案:

答案 0 :(得分:1)

此方法setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)不会唤醒键盘。检查此link。有关它的更多信息请查看此example。希望它有所帮助

编辑:

试试这个showSoftInput method

答案 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

“在进行实验时我实际上并没有得到我想要的东西,直到我意识到我应该有一个没有硬件键盘的仿真器设备:”