149 votes

Comment gérer le bouton retour dans une activité

Comment gérer un bouton retour dans une activité ? J'ai quelques boutons. Si je clique sur l'un d'entre eux, il est redirigé vers les boutons dont j'ai besoin. Cela fonctionne bien mais lorsque j'appuie sur le bouton retour, l'activité se termine.

Comment résoudre ce problème. Je n'ai qu'une seule activité pour tous ces boutons. Merci d'avance.

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) 
{
    if ((keyCode == KeyEvent.KEYCODE_BACK)) 
    {
        return false; //I have tried here true also
    }
    return super.onKeyDown(keyCode, event);
}

J'ai utilisé le code ci-dessus pour gérer le bouton retour mais cela ne fonctionne pas. Lorsque j'appuie sur le bouton "retour", il se met en place tout seul.

2voto

Eddie Towers Points 21

C'est une façon simple de faire quelque chose.

    @Override
        public void onBackPressed() {
            // do what you want to do when the "back" button is pressed.
            startActivity(new Intent(Activity.this, MainActivity.class));
            finish();
        }

Je pense qu'il pourrait y avoir des façons plus élaborées de procéder, mais j'aime la simplicité. Par exemple, j'ai utilisé le modèle ci-dessus pour que l'utilisateur se déconnecte de l'application ET REPRENNE une autre activité de mon choix.

1voto

Shubham Points 547

Cela m'a aidé

@Override
public void onBackPressed() {
    startActivity(new Intent(currentActivity.this, LastActivity.class));
    finish();
}

OR ????? vous pouvez également l'utiliser pour le basculement des tiroirs.

@Override
public void onBackPressed() {
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    if (drawer.isDrawerOpen(GravityCompat.START)) {
        drawer.closeDrawer(GravityCompat.START);
    } else {
        super.onBackPressed();
    }
        startActivity(new Intent(currentActivity.this, LastActivity.class));
    finish();

}

J'espère que cela vous aidera :)

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