Se si utilizza uno viewPager
con frammenti, è possibile chiamare uno safeExit()
dal onBackPressed()
dello MainActivity
. Questo è quello che ho fatto, non ho mai avuto problemi:
@Override
public void onBackPressed() {
try {
if (getFragmentManager().getBackStackEntryCount() > 1) {
FragmentManager.BackStackEntry first = getFragmentManager().getBackStackEntryAt(0);
getFragmentManager().popBackStack(first.getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
} else
safeExit();
} catch (Exception e) {
e.printStackTrace();
}
}
private void safeExit() {
new Builder(this).setIcon(R.drawable.ic_launcher).setTitle("Exit!").setMessage(
"Close Application?").setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
MainActivity.this.finish();
}
}).setNegativeButton("No", null).show();
}
L'ordine delle linee: è molto importante in quanto le caratteristiche devono essere richieste prima che qualsiasi contenuto venga inserito nella finestra di dialogo. – msysmilu
L'ordine delle linee: è molto importante !!! dialog.setFeatureDrawableResource (Window.FEATURE_LEFT_ICON, R.drawable.your_icon); dovrebbe essere chiamato dopo setContentView –