【问题标题】:OnBackPressed in Xamarin AndroidXamarin Android 中的 OnBackPressed
【发布时间】:2018-11-07 06:21:12
【问题描述】:

我有:

public override void OnBackPressed ()
{
base.OnBackPressed ();
}
  • 如何获取应用的先前状态?
  • Xamarin 是否有诸如 BackStackEntryCount,如何使用?

    例如我点击MainMenu->Study->Categories->FirstCategory,如果我点击Back,我想要Categories。

【问题讨论】:

    标签: android xamarin back


    【解决方案1】:

    如果 Categories 活动在活动堆栈中的 Selected 类别之前,并且没有标记为没有历史记录 OnbackPressed 没有覆盖基类/超类,则会带您回到类别类并点击 OnResume 方法。

    如果您在 OnCreate 中加载了 Categories 活动并且在 OnResume 中没有执行任何操作,则 OnBackPressed 应该以您离开的状态显示上一个活动。

    如果您希望它执行其他操作,则覆盖 OnBackPressed 并将类别标记为无历史记录。

    覆盖 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();
    
    }
    

    无历史记录

    [Activity
         (
    
         NoHistory = true         
    
         )
     ]
    
     Public Class Categories : Activity
    

    【讨论】:

    • 你好,只是小评论:应该是:protected override void OnBackPressed()
    • 根据 danny 的评论修改
    • 如果是Xamarin,那么实际上应该是public override void OnBackPressed() { Finish(); }
    【解决方案2】:
    public override void OnBackPressed ()
    {
     finish();
    }//end onBackPressed()
    

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-17
      相关资源
      最近更新 更多