6

J'ai un SherlockFragmentActivity et un SherlockFragment dans un TabManager. Dans ce fragment j'ai RadioButtons, CheckBoxes, un bouton et un EditText dans un LinearLayout. Le clavier ne répond parfois pas lorsque vous appuyez sur EditText.Pourquoi le clavier logiciel Android ne répond pas à EditText?

Dans un AVD 2.1, le clavier répond de manière incohérente, dans un AVD 4.0, le clavier ne répond pas du tout, et sur un périphérique, le clavier répond de manière incohérente. Parfois, en appuyant sur les autres objets active la possibilité d'afficher le clavier.

Voici le XML pour le EditText:

<EditText  android:id="@+id/EditText1" 
        android:layout_width="100dp" 
        android:layout_height="wrap_content" 
        android:inputType="number" 
        android:text="20" > 

Je suis confus de l'activité incompatible plus que le fait qu'il ne fonctionne pas sur la version 4.0 AVD. Toutes les suggestions pour expliquer pourquoi cela se passe ou une façon de montrer le clavier serait géniale.

+1

Bon à savoir c'est un problème pour plus que moi-même. Je pensais que ma programmation était merdique. Bien sûr, je pourrais trouver une référence dans la documentation pour des instructions directes sur ce qu'il faut faire, car il devient difficile de tester d'autres versions en sachant qu'il est possible de trouver des bogues uniquement dans l'émulateur. – JRomero

+0

J'ai ce problème en ce moment! J'ai des rapports sur mon application de production que le clavier logiciel ne s'ouvre pas. Je ne peux pas le reproduire sur quelque chose que j'essaie, mais je sais que le problème existe parce qu'un utilisateur m'a montré. – AutoM8R

Répondre

5

Vous pouvez enregistrer un écouteur de mise au point pour votre edittext et clavier souple ouvert quand il se focus:

edit_Text.setOnFocusChangeListener(new OnFocusChangeListener() { 
@Override 
public void onFocusChange(View v, boolean hasFocus) { 
    if(hasFocus){ 
     ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)) 
.showSoftInput(edit_Text, InputMethodManager.SHOW_FORCED); 
    }else 
     Toast.makeText(getApplicationContext(), "lost the focus", 2000).show(); 
} 
}); 

Edit:
Pour emulator, je pense que ce n'est pas guaranteed.Really je ne l'ai pas n'importe quel moyen d'apparaître par programmation clavier doux.Certains fois il apparaît et parfois pas.En émulateur avec Android 4.0.3, vous pouvez voir un symbole dans la barre de notification au lieu d'apparaître clavier virtuel:
enter image description here

Regardez:
Event for Handling the Focus of the EditText
Forcing the Soft Keyboard open

+0

Merci beaucoup. Cela fonctionne sur mon appareil de manière cohérente maintenant. Bien que le 4.0 AVD ne lance toujours pas le clavier. Je vais l'essayer sur un appareil avec ICS et vous faire savoir si cela fonctionne encore correctement. – piz

+0

@piz S'il vous plaît voir mes modifications. – hasanghaforian

+0

fonctionne bien dans 4.0.4 –

Questions connexes