2017-09-04 13 views
-3

Lorsque je clique sur le bouton de retour Il va à l'action précédente plutôt que l'activité précédenteComment se rendre à l'activité précédente par le bouton retour en sautant DialogFragment

ce qui est veux faire est ce: 1.RAPPORT Continuer-> 2.Activity2 next-> 3.DialogFragment (sélectionnez l'utilisateur de DialogFragment) next-> Activity2 (avec l'utilisateur sélectionné) backPressed-> Activity.

ce que je suis à est: 1.RAPPORT Continuer-> 2.Activity2 Continuer-> 3.DialogFragment (sélectionnez l'utilisateur de DialogFragment) Continuer-> Activity2 (avec l'utilisateur sélectionné) backPressed-> 5.DialogFragment backPressed -> Activité

Scénario est: Quand j'ouvre cette activité et la sélection de l'utilisateur dialogFragment de l'événement OnClick comme indiqué ci-dessous en image:

enter image description here

après avoir sélectionné l'écran de l'utilisateur est:

enter image description here

quand je clique sur le bouton de retour en haut à droite coin, il ouvre à nouveau le même fragment plutôt que d'ouvrir l'activité précédente .. J'ai essayé beaucoup de façons, mais pourraient ne pas trouver la solution. S'il vous plaît, aidez.

enter image description here] 3

mon code:

//

Back button in toolbar 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     toolbar.setTitleTextColor(getResources().getColor(R.color.o2htextOne)); 
     getSupportActionBar().setDisplayShowTitleEnabled(false); 
     final Drawable upArrow = getResources().getDrawable(R.drawable.back_arrow); 
     upArrow.setColorFilter(getResources().getColor(R.color.o2htextOne), PorterDuff.Mode.SRC_ATOP); 
     getSupportActionBar().setHomeAsUpIndicator(upArrow); 
     { 
      getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
      Intent intent=new Intent(); 



     } 
@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     if(item.getItemId()==android.R.id.home) 
     { 

      finish(); 

     } 
     return true; 

    } 
+0

vous rejetez votre dialogFragment lors du déplacement à l'activité de détail utilisateur ?? –

+0

Copie possible de l'action du bouton [Android 'Back'] (https://stackoverflow.com/questions/11342592/android-back-button-action) – GuilhermeFGL

+0

Je pense que vous devriez simplement appeler 'finish()' et ne pas commencer nouvelle activité dans 'onOptionsItemSelected' et aussi comme @ sam_0829 dit" rejeter ". –

Répondre

-1

suffit de cocher cette condition dans onBackPressed et faire l'action ce que vous voulez:

@Override 
public void onBackPressed() { 
    if (dialogObj != null && dialogObj.show()) { 
     dialogObj.dismiss(); 
    } else { 
     //this.finish(); 
     super.onBackPressed(); 
    } 
} 
2
getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
upArrow.setNavigationOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View view) { 
      ActivityCompat.finishAfterTransition(AgentCreateIntimation.this); 
     } 
}); 

essayer de l'utiliser dans le lieu de

{ 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    Intent intent = new Intent(); 
} 
+0

J'ai déjà essayé mais cela ne fait aucune différence. – Axay