Si está utilizando un viewPager
con fragmentos, puede llamar a desde onBackPressed()
del MainActivity
. Esto es lo que he hecho, nunca he tenido ningún problema:
@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();
}
El orden de las líneas: es muy importante ya que las características se deben solicitar antes de que cualquier contenido se inserte en el cuadro de diálogo. – msysmilu
El orden de las líneas: ¡es muy importante! dialog.setFeatureDrawableResource (Window.FEATURE_LEFT_ICON, R.drawable.your_icon); debería llamarse después de setContentView –