2011-03-19 99 views
4

在Android中单击按钮后,是否有方法隐藏虚拟键盘?当用户触摸edittext组件时,键盘最初弹出;一旦按下按钮,我希望它关闭。单击按钮时隐藏虚拟键盘

+0

的可能重复[如何关闭/隐藏Android的软键盘?(http://stackoverflow.com/questions/1109022/how-to-close-hide -the-android-soft-keyboard) – Aleadam 2011-05-08 18:15:43

回答

20

要隐藏虚拟键盘的try /使用

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(medtSearchQuery.getWindowToken(), 0); 
+3

什么是medtSe​​archQuery? – locoboy 2011-03-19 21:00:36

+1

@ cfarm54即EditText字段名称 – Eby 2011-03-21 05:47:07

+0

@Eby - 如果我们有多个编辑字段需要给出的代替“medtSe​​archQuery” – 2012-10-15 07:18:01

17

最佳实践隐藏键盘:

InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); 

它会自动接收当前重点,将隐藏键盘。无所谓EditText你有什么意见。

+1

感谢它为我工作 – aida 2015-06-07 09:04:57

2

使用下面的代码

your_button_id.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      try { 
      InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0); 
      } catch (Exception e) { 
      // TODO: handle exception 
      } 
     } 
    });