0

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;
    }

}
Yesudass Moses
  • 1,841
  • 3
  • 27
  • 63
  • 1
    Try this https://stackoverflow.com/questions/14437745/how-to-override-action-bar-back-button-in-android?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa – Son Truong Apr 19 '18 at 07:17
  • Check your are adding null to **`fragmentTransaction.addToBackStack(null);`** – AskNilesh Apr 19 '18 at 07:20

0 Answers0