OnBackPressed in Xamarin Android

24,977

Solution 1

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

Solution 2

public override void OnBackPressed ()
{
 finish();
}//end onBackPressed()
Share:
24,977
Olena
Author by

Olena

Updated on July 09, 2022

Comments

  • Olena
    Olena almost 2 years

    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.

  • Daniel Krzyczkowski
    Daniel Krzyczkowski almost 9 years
    Hello, just small comment: should be: protected override void OnBackPressed()
  • ClintL
    ClintL almost 9 years
    modified per danny's comment
  • Gautam Jain
    Gautam Jain over 7 years
    If it is Xamarin, then actually it should be public override void OnBackPressed() { Finish(); }