OnBackPressed in Xamarin Android

Olena picture Olena · Sep 21, 2013 · Viewed 23.8k times · Source

I have:

public override void OnBackPressed ()
{
base.OnBackPressed ();
}
  • How can I get previous state of my app?
  • Does Xamarin have such as BackStackEntryCount, how can I use it?

    For example I click MainMenu->Study->Categories->FirstCategory, if I click Back, I want to have Categories.

Answer

ClintL picture ClintL · Sep 21, 2013

If the Categories activity precedes the Selected category in the activity stack and is not flagged for no history OnbackPressed without override of the base/super class will take you back to the categories class and hit the OnResume method.

If you loaded your Categories activity in OnCreate and dont do anything in OnResume then OnBackPressed should show the previous activity in the state you left it.

If you want it to do something else then override on OnBackPressed and flag Categories as no history.

Override OnBackPressed

public override void OnBackPressed()
{
    //Do not call the base method
    //base.Onbackpressed
    //Do something else
    *something else code*
    //finish this activity unless you want to keep it for some reason
    finish();

}

NoHistory

[Activity
     (

     NoHistory = true         

     )
 ]

 Public Class Categories : Activity