在HTC Desire上使用onKeyDown和KEYCODE_SEARCH键显示键盘在显示后立即消失

时间:2012-11-07 14:32:11

标签: android

我有一部HTC Desire手机,想要在用户点击硬搜索button时显示设置焦点到输入字段并显示键盘。键盘在屏幕上显示后立即消失。

我已使用此代码覆盖onKeyDown

public boolean onKeyDown(int key, KeyEvent event) {

    if (key == KeyEvent.KEYCODE_SEARCH) {
        EditText input = (EditText) findViewById(R.id.list_search_input);
        input.setText(null);

        input.requestFocus();


        // show keyboard
        InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
        inputManager.showSoftInput(input, 0);
     }

     return super.onKeyDown(key, event);
 }

等待一些想法,谢谢!

2 个答案:

答案 0 :(得分:1)

尝试替换此

return super.onKeyDown(key, event);

用这个:

return true;

我认为这是因为你要让默认的(super.onKeyDown(key, event);)事件处理程序被执行。

答案 1 :(得分:0)

只是想知道如何编译这个!你有一个公共的boolen,但你没有返回值...尝试“返回super.onKeyDown(键,事件);”在功能结束时!