当Activity弹出一个对话框时,怎么屏蔽搜索键?谢谢各位给予解答。

解决方案 »

  1.   


    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if(event.getKeyCode() == KeyEvent.KEYCODE_SEARCH){
    //do nothing
    return true;
    }
    return super.onKeyDown(keyCode, event);
    }
    重写这个函数,里面不做操作,是不是可以?
      

  2.   

    谢谢分享,问题已经解决。 我贴出我的Code: 
      waitdialog.setOnKeyListener(new OnKeyListener()
             {
                 @Override
                 public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event)
                 {   
                     
                     if(KeyEvent.KEYCODE_SEARCH==keyCode){
                        
                        return onSearchRequested();
                     }
                      return false;
                 }
             });
      

  3.   

     对话框弹出,此时页面的焦点是dialog ,所以要写dialog的监听事件。被注释的代码调用onSearchRequested也可以,至于原理,看了源码就知道了; 
     waitdialog.setOnKeyListener(new OnKeyListener()
             {
                 @Override
                 public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event)
                 {   
                     if(KeyEvent.KEYCODE_SEARCH==keyCode){
                        
                         return true;
                        //return onSearchRequested();
                     }
                      return false;
                 }
             });