2011-03-19 83 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 
      } 
     } 
    });