I am adding fragments in BackStack. and showing/hiding Back Arrow of MainActivity from Fragment.
Phone's BackButton softkey is working as expected. But the Back Arrow on ActionBar just exits the App. It doesn't even fire onBackPressed or onKeyDown. Can anybody enlighten me what I am missing?
Here is the code of my MainActivity.
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
BoxItemFragment fragment = new BoxItemFragment();
fragmentTransaction.replace(R.id.fragContainer, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public void onBackPressed(){ //Not Firing
if(getFragmentManager().getBackStackEntryCount() > 0){
getFragmentManager().popBackStack();
}
else{
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){ //Not Firing
if(keyCode == KeyEvent.KEYCODE_BACK){
if(getFragmentManager().getBackStackEntryCount() > 0){
getFragmentManager().popBackStack();
}
else{
// super.onBackPressed();
}
}
return true;
}
}