【问题标题】:onbackpressed no suitable method found to override xamarinonbackpressed 找不到合适的方法来覆盖 xamarin
【发布时间】:2015-09-18 00:02:54
【问题描述】:

我正在尝试在 xamarin 中做练习来学习它。我得到的错误是 onbackpressed 没有找到合适的方法来覆盖。我要么在顶部缺少程序集引用或 using 语句,要么将此覆盖放在错误的位置。任何人都可以帮我一把吗?谢谢

using System;
using Android.Webkit;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Text;
using Android.Net;
using Java.Interop;

namespace myNamespace
{
    [Activity (Label = "myapp", MainLauncher = true, Icon = "@drawable/icon", Theme = "@android:style/Theme.NoTitleBar")]   
    public class MainActivity : Activity
    {
        bool formOpen = false;
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            var webview = new WebView(this);
            webview.Settings.JavaScriptEnabled = true;
            webview.Settings.SetGeolocationEnabled(true);
            webview.AddJavascriptInterface (new MyJSInterface (this), "C");
            webview.SetWebViewClient(new MyWebViewClient(this));
            webview.SetWebChromeClient(new MyWebChromeClient(this));
            SetContentView(webview);
            webview.LoadUrl ("http://example.com");
        }
        public override void onBackPressed() {
            if (formOpen == false) {
            base.OnBackPressed();
            }
        }
    }
}  

【问题讨论】:

    标签: c# android xamarin


    【解决方案1】:

    方法签名是protected override void OnBackPressed() 请注意,Xamarin 使用 C# 命名约定,因此方法以大写“O”开头

    【讨论】:

    • 您好,感谢您的评论。这就是我最初拥有的,直接来自手册,但会引发相同的编译错误。
    • 是Activity上的一个方法,应该没问题。您是否使用了正确的方法名称大小写(大写“O”)?
    • 从我上面的代码中可以看出,我没有使用正确的案例,我使用的是 android 案例而不是 xamarin 案例。他们应该使名称相同。您可以将其添加为最终答案吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多