[英]How to avoid OnCreate method execution when activity has been opened previously (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.