簡體   English   中英

如何將 Activity 類型傳遞給 Xamarin.Android 中的方法?

[英]How to pass Activity type to a method in Xamarin.Android?

我所有的活動都繼承自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-堆

這是一篇關於如何實現自定義后退導航的好文章: https : //developer.android.com/guide/navigation/navigation-custom-back

單擊時應使用 OnBackPressed 方法

base.OnBackPressed();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM