2016-10-12 5 views
0

Je veux effacer le focus de l'edittext lorsque l'utilisateur clique sur le bouton de retour.Comment arrêter l'edittext de changer le focus sur le clic du bouton de retour dans le fragment?

Ceci est ma méthode onResume: -

public void onResume() { 
     super.onResume(); 

     getView().setOnKeyListener(new View.OnKeyListener() { 
      @Override 
      public boolean onKey(View view, int i, KeyEvent keyEvent) { 
       if (i == keyEvent.KEYCODE_BACK) { 
        mEdtDob.clearFocus(); 
        return true; 
       } 
       return false; 

      } 
     }); 

    } 

Je veux faire quand je clique sur le bouton de retour au centre de la edittext ne doit pas être modifié.

Répondre

0

Solution: Le code est correct. Vérifier est parent vue de EditText cliquable? Si ce n'est pas le cas, après avoir supprimé le focus, EditText peut de nouveau se concentrer.

Ajouter cette ligne à vue parent de EditText en xml:

android:focusable="true" 
android:focusableInTouchMode="true" 
+0

dude! J'utilise fragment pas une activité – LoveAndroid

0
@Override public void onBackPressed() { 
int count = getFragmentManager().getBackStackEntryCount(); 
if (count == 0) { 
super.onBackPressed(); 
mEdtDob.clearFocus(); 
//additional code 
} else  {  getFragmentManager().popBackStack(); 
} } 

vérifier ce lien:

How to implement onBackPressed() in Fragments?

0

juste ajouter ces deux lignes à l'intérieur OnKey Method.Code :

mEdtDob.setFocusable(true); 
mEdtDob.setFocusableInTouchMode(true); 

si cela fonctionne nt faites-moi savoir dans les commentaires ....