je fais une application d'échange ... Je veux désactiver le bouton de retour. donc j'utilise ce code ... et passe l'intention à lui ..
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
// do something on back.
return true;
}
return super.onKeyDown(keyCode, event);
}
mais en cours d’exécution lorsque j’appuie sur le bouton précédent de l’émulateur, l’activité est mise à jour, mais lorsque je réappuie sur le bouton précédent, il passe à la page d’accueil de l’émulateur.
@Override
public void onBackPressed() {
// do nothing.
}
@Override
public void onBackPressed() {
//super.onBackPressed();
if(SOME_CONDITION_TO_CHECK){
//THIS BLOCK WILL NOT DO ANYTHING AND WOULD DISABLE BACK BUTTON
}else{
super.onBackPressed();
//THIS BLOCK WILL BE CALLED IF ABOVE COND IS FALSE, AND WOULD ENABLE BACK BUTTON
}
}
Avez-vous essayé onBackPressed ()?
@Override
public void onBackPressed() {
// Do as you please
}
Ceci est ma solution Cela fonctionne avec Android 2.2
remplacez onBackPressed () ...
public void onBackPressed() {
// check if you are in the right mode
if (getCurrentState() == FORM_STATE_BROWSE ) {
// ok do default back action
super.onBackPressed();
}
// exit skipping "onBackPressed()"
return;
}
Vous devez ajouter un retour pour que cela fonctionne avec succès sur tous les appareils, ma note 3 & htc revient quand même si je n'inclus pas le retour!
@Override
public void onBackPressed() {
return;
}
Par exemple, si vous souhaitez passer à une activité en appuyant sur le bouton Précédent, remplacez cette méthode dans votre activité
@Override
public void onBackPressed() {
// do nothing.
Intent intent = new Intent(SocialPlugIns.this, MainActivity.class);
Log.i("Hello", "This is Coomon Log");
startActivity(intent);
return;
}
Vous devez remplacer la fonction onBackPressed()
. Ci-dessous je donne un moyen:
@Override
public void onBackPressed() {
//make some alert for the user
}