138 votes

Clavier virtuel étroite sur une touche

J'ai une Activité avec un EditText, un bouton et une ListView. Le but est de type un écran de recherche dans l'EditText, appuyez sur le bouton et avoir les résultats de la recherche remplir cette liste.

C'est tout fonctionne parfaitement, mais le clavier virtuel se comportent de façon étrange. Si je clique sur le EditText, j'ai le clavier virtuel. Si je clique sur le bouton "Terminé" sur le clavier virtuel, il s'en va. Cependant, si je clique sur mon bouton de recherche avant de cliquer sur "Done" sur le clavier virtuel le clavier virtuel reste et je ne peux pas m'en débarrasser. En cliquant sur le bouton "Terminé" ne pas fermer le clavier. Il change le bouton "Terminé" à partir de "Fait" pour une flèche et reste visible.

Merci pour votre aide

312voto

Mazzy Points 1352
<pre><code></code><p><code></code>événement. </p><p><code></code>;</p><p>Le clavier se cache lorsque vous cliquez sur le bouton.</p></pre>

60voto

Andrew Points 4526
mMyTextView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_SEARCH) {
            // hide virtual keyboard
            InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(m_txtSearchText.getWindowToken(), 
                                      InputMethodManager.RESULT_UNCHANGED_SHOWN);
            return true;
        }
        return false;
    }
});

13voto

pixel Points 4391

Vous devez implémenter `` pour votre EditView

Et vous cachez le clavier par :

Vous devriez également se déclencher se cacher clavier dans votre bouton à l’aide ``

Maintenant, en cliquant sur « Done » sur le bouton et le clavier virtuel, il fera la même chose - cacher le clavier et effectuer l’action de clic.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X