我的所有活动都继承自BaseActivity
。在BaseActivity
中,我有以下方法:
protected void GoToPreviousActivity(Activity)
{
StartActivity(typeof(Activity));
Finish();
}
当我单击每个活动的toolbar's
后退按钮时,我想返回上一个活动,例如:
toolbar.NavigationOnClick += delegate
{
this.GoToPreviousActivity(PreviousActivity);
};
我该怎么做?
正如@Mathias Kirkegaard所评论的那样,Android提供了自己的导航返回,并且非常可靠(您甚至可以操纵反向堆栈(请参阅底部的链接以了解它的内容)]
话虽如此,如果您希望每次用户单击后退按钮时都使用您的方法,则可以覆盖OnBackPressed方法,并在那里提供您自己的实现。您的情况:
public override void OnBackPressed()
{
//base.OnBackPressed(); <-- this will use the default behaviour to navigate back, and if I understood correctly, you don't want to use it
GoToPreviousActivity(PreviousActivity);
}
尽管您可以这样做并且确实有效,但是不建议您在此处阅读有关Android如何管理后退导航的更多信息:https://developer.android.com/guide/components/activities/tasks-and-back-stack
这是有关如何实现自定义反向导航的好文章:https://developer.android.com/guide/navigation/navigation-custom-back
应在单击时使用OnBackPressed方法
base.OnBackPressed();