为了账号安全,请及时绑定邮箱和手机立即绑定

为什么调用 OnBackPressed 时我的应用程序崩溃?

为什么调用 OnBackPressed 时我的应用程序崩溃?

C#
慕容森 2022-01-16 14:38:37
当按下后退按钮(OnBackPressed)但应用程序崩溃时,我正在尝试执行一些 javascript(webview Eval)。有人能弄清楚发生了什么吗?MainActivity.cspublic class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity{    protected override void OnCreate(Bundle savedInstanceState)    {        /*     some code    */        base.OnCreate(savedInstanceState);        global::Xamarin.Forms.Forms.Init(this, savedInstanceState);        LoadApplication(new App());    }    public override void OnBackPressed()    {        MainPage.ExecJS();}}MainPage.xaml.cs public partial class MainPage : ContentPage {    public static double ScreenWidth { get; set; }    public static double ScreenHeight { get; set; }    public static WebView webnav;    StackLayout parent = null;    public MainPage()    {        InitializeComponent();        WebView webnav = new WebView        {            HeightRequest = 1000,            WidthRequest = 1000,            Source = "https://www.comprarmusicas.com.br/mobile/index.php"        };        parent = new StackLayout();        parent.Children.Add(webnav);        Content = parent;    }     public static void ExecJS()    {        string jsCode = "alert('ok');";        webnav.Eval(jsCode);    } }
查看完整描述

1 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

您不是WebView在 .ctor 中分配静态变量,而是创建一个新的局部实例变量。


WebView从您实例化/分配 WebView 的位置删除类型,即。


public MainPage()

{

    InitializeComponent();

    webnav = new WebView // this assigns to the "public static WebView webnav;"

    {

        HeightRequest = 1000,

    ~~~


查看完整回答
反对 回复 2022-01-16
  • 1 回答
  • 0 关注
  • 195 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号