如何将Activity类型传递给Xamarin.Android中的方法?

问题描述 投票:0回答:2

我的所有活动都继承自BaseActivity。在BaseActivity中,我有以下方法:

protected void GoToPreviousActivity(Activity)
{
    StartActivity(typeof(Activity));
    Finish();
}

当我单击每个活动的toolbar's后退按钮时,我想返回上一个活动,例如:

toolbar.NavigationOnClick += delegate
{
    this.GoToPreviousActivity(PreviousActivity);
};

我该怎么做?

android-activity types xamarin.android parameter-passing
2个回答
0
投票

正如@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


0
投票

应在单击时使用OnBackPressed方法

base.OnBackPressed();
© www.soinside.com 2019 - 2024. All rights reserved.