2010-06-15 4 views
2

J'ai un EditText avec un composé dessinable à droite. Je veux cacher le clavier quand j'appuie sur le dessinable et efface le texte. Pour cela, j'ai le code suivant:Android cacher le clavier logiciel de l'appel composé

 filterText.setOnTouchListener(new OnTouchListener() { 
     public boolean onTouch(View v, MotionEvent event) { 
       if (filterText.getCompoundDrawables()[2] == null) { 
         // cross is not being shown so no need to handle 
         return false; 
       } 
       if (event.getAction() != MotionEvent.ACTION_DOWN) { 
         // only respond to the down type 
         return false; 
       } 
       if (event.getX() > filterText.getMeasuredWidth() - 
         filterText.getPaddingRight() - d.getIntrinsicWidth()) { 
         filterText.setText(""); 
         InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
         imm.hideSoftInputFromWindow(v.getWindowToken(), 0); 
         return false; 
       } 
       else { 
        return true; 
       } 
     } 
    }); 

Mais cela ne fonctionne pas parce que le editText semble maintenir le cap. J'ai essayé de filterText.clearFocus mais pas moyen.

Merci

Répondre

1

Juste une suggestion: ne pouvez-vous placer un Button à droite de la EditText?

Questions connexes