Je veux effectuer une opération comme quand j'ai appuyé sur le bouton Single Time puis il passera à l'écran sélectionné et quand j'ai appuyé deux fois sur le bouton Back, il affichera la boîte de dialogue et demandera la sortie.Comment revenir à l'écran précédent en appuyant une fois sur le bouton précédent et comment quitter l'application pendant que le bouton arrière est enfoncé deux fois?
J'ai essayé beaucoup d'exemples dans un débordement de pile, mais aucun d'eux ne me aident ..
navaigation.java
private int clickCount = 0;
private long delay = 100;
Timer timer = new Timer();
@Override
public void onBackPressed() {
if (clickCount == 2) {
super.onBackPressed();
timer.cancel();
} else{
clickCount++;
timer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
backButtonHandler();
}
});
}
}, delay);
}
}
public void backButtonHandler() {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(
Navigation.this);
// Setting Dialog Title
alertDialog.setTitle("Leave application?");
// Setting Dialog Message
alertDialog.setMessage("Are you sure you want to leave the application?");
// Setting Icon to Dialog
alertDialog.setIcon(R.drawable.m_visit);
// Setting Positive "Yes" Button
alertDialog.setPositiveButton("YES",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
// Setting Negative "NO" Button
alertDialog.setNegativeButton("NO",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Write your code here to invoke NO event
dialog.cancel();
}
});
// Showing Alert Message
alertDialog.show();
}
J'ai essayé de cette façon, mais il ne fonctionne pas correctement ...
vérifier ma mise à jour répondre. – W4R10CK
il ya tellement de réponses que vous n'êtes toujours pas en mesure de résoudre vos problèmes et toutes les réponses sont correctes. –