Я изучаю C # для Android с xamarin Studio. Я следовал учебному руководству по документам Microsoft. Все работало нормально, пока я не добавил метод OnkeyDown () . Компилятор не может найти web_view , но он прямо там.
Как я могу это исправить?
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Webkit;
using Android.Widget;
using Android.OS;
using theWedding.Views;
using theWedding.Models;
namespace theWedding
{
[Activity(Label = "theWedding", MainLauncher = true)]
public class MainActivity : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
var web_view = FindViewById<WebView>(Resource.Id.webview);
web_view.Settings.JavaScriptEnabled = true;
web_view.SetWebViewClient(new TheWeddingClient());
web_view.LoadUrl("https://patahapa.com/apps");
}
public class TheWeddingClient : WebViewClient
{
//for android <7
//public override bool ShouldOverrideUrlLoading(WebView view, string url)
//{
// view.LoadUrl(url);
// return false;
//}
//for android 7+
public override bool ShouldOverrideUrlLoading(WebView view, IWebResourceRequest request)
{
view.LoadUrl(request.Url.ToString());
return false;
}
}
public override bool OnKeyDown(Android.Views.Keycode keyCode, Android.Views.KeyEvent e)
{
if (keyCode == Keycode.Back && web_view.CanGoBack())
{
web_view.GoBack();
return true;
}
return base.OnKeyDown(keyCode, e);
}
}
}