2010-01-03 11 views
4

Je ne veux pas afficher le clavier virtuel.comment cacher le clavier virtuel

J'ai essayé la méthode ci-dessous mais cela ne fait aucune différence.

InputMethodManager imm =  InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(enter_count.getWindowToken(), 0); 

enter_count est mon modifier le texte J'ai essayé la lecture sur le gestionnaire InputMethod mais ne peut pas le suivre.

Je peux définir le type d'entrée de mon texte d'édition appelé enter_count comme suit

enter_count.setInputType(InputType.TYPE_NULL); 

mais je ne peux pas préciser à accepter seulement une entrée numérique

Pouvez-vous s'il vous plaît me donner une solution raisonnable simplement ne pas afficher le clavier virtuel sans perdre la capacité d'accepter uniquement les entrées numériques sur le clavier physique.

Répondre

1

vous devez utiliser dans votre fichier AndroidManifest.xml

ajouter Alors

android: configChanges = "orientation | keyboardHidden"

Mais que votre clavier toujours être caché dans cette activité.

Wouter

+1

j'ai essayé votre suggestion et android: configChanges = "keyboardHidden" aussi bien mais ne fait aucune différence –

3

Que pensez-vous de cela?

EditText editText = (EditText) findViewById(R.id.edt_hello); 

editText.setKeyListener(new NumberKeyListener() { 

    @Override 
    public int getInputType() { 
     return InputType.TYPE_NULL; 
    } 

    @Override 
    protected char[] getAcceptedChars() { 
     return new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; 
    } 
}); 
+0

Merci beaucoup cela a fonctionné parfaitement. –

+7

Ensuite, vous devez marquer la réponse comme acceptée –

0

Ajouter dans votre fonction SendData()

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.hideSoftInputFromWindow(textEntered.getWindowToken(),0); 

OU utiliser cette

InputMethodManager.RESULT_UNCHANGED_SHOWN); 
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); 

ce travail :)

1

Avez-vous essayé d'ajouter ceci dans le tag Activité de votre manifeste? android: windowSoftInputMode = "stateHidden"

Questions connexes