Xamarin Android无法覆盖OnBackButtonPressed方法

问题描述

我的问题是,每当我尝试覆盖OnBackButtonpressed时,Visual Studio只会告诉我没有可以覆盖的方法。 这是代码

    [Activity(Label = "@string/app_name",Theme = "@style/AppTheme",MainLauncher = true)]
    public class MainActivity : AppCompatActivity    {
        protected override void OnCreate(Bundle savedInstanceState)        {
            base.OnCreate(savedInstanceState);
            Xamarin.Essentials.Platform.Init(this,savedInstanceState);
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);
        }

        public override void OnRequestPermissionsResult(int requestCode,string[] permissions,[GeneratedEnum] Android.Content.PM.Permission[] grantResults){
            Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode,permissions,grantResults);
            base.OnRequestPermissionsResult(requestCode,grantResults);
        }

        protected override bool OnBackButtonpressed() {
            return true;
        }
    }
}

每当我删除“ override”标签时,就会出现错误分配器,但事件永远不会触发。 知道为什么不能覆盖此方法吗?

解决方法

OnBackPressed是一种Android方法,您可以通过以下方式在MainActivity.cs文件中覆盖它:

public override void OnBackPressed()
{
    // your code over here
    base.OnBackPressed();
}