@Override public void onBackPressed() { // First check if changes are made mEditListFragment.areChangesMade(); if (mEditListFragment.isModifiedSinceLastSave && !mEditListFragment.isNewList) { // Build alertDialog mEditListFragment .createAlertDialog( new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); // Go intent up mEditListFragment.navigateUp(); } }) .create() .show(); } else if (mEditListFragment.isModifiedSinceLastSave) { mEditListFragment .createAlertDialog( new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); // Navigate up NavUtils.navigateUpFromSameTask((Activity) mContext); } }) .create() .show(); } else if (!mEditListFragment.isNewList) { mEditListFragment.navigateUp(); } }