2011-03-19 4 views
4

Y at-il un moyen de cacher le clavier virtuel une fois que je clique sur un bouton dans Android? Le clavier apparaît à l'origine lorsque l'utilisateur touche un composant edittext; Je voudrais qu'il se ferme une fois qu'un bouton est poussé.Cacher le clavier virtuel quand vous cliquez sur un bouton

+0

double possible de [Comment fermer/masquer le clavier souple Android?] (Http://stackoverflow.com/questions/1109022/how-to-close-hide -le-clavier-android-doux) – Aleadam

Répondre

20

Pour masquer essayer de clavier virtuel/utiliser cette

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

qu'est-ce que medtSearchQuery? – locoboy

+1

@ cfarm54 c'est le nom du champ EditText – Eby

+0

@Eby - si nous avons plus d'un champs d'édition ce qui doit être donné à la place de "medtSearchQuery" –

17

meilleures pratiques pour clavier cacher:

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

Il recevra automatiquement la mise au point en cours et cachera clavier. Peu importe combien de vues vous avez.

+1

merci cela a fonctionné pour moi – aida

2

Utilisez le code ci-dessous

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 
      } 
     } 
    }); 
Questions connexes