当按下后退按钮(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,
~~~
- 1 回答
- 0 关注
- 195 浏览
添加回答
举报
0/150
提交
取消
