XAMARIN: Как связать [Android] аппаратную кнопку возврата с Webkit.WebView? - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь связать аппаратную кнопку возврата с моими WebViews в Xamarin для Android.Мои WebViews содержатся в экземплярах OnCreate объекта TabHost (который устарел, но я все равно его использую). У меня это есть внутри моего MainActivity : TabActivity класса

public override void OnBackPressed()
{
    base.OnBackPressed();
}

, и вот пример одного из моихКлассы активности вкладок

[Activity]
public class SpeakersActivity : Activity
{
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);

        //set the content view
        SetContentView(Resource.Layout.subs);

        //declare webview and tell our code where to find the XAML resource
        WebView subWebView = FindViewById<WebView>(Resource.Id.webViewSubs);

        //set the webview client
        subWebView.SetWebViewClient(new WebViewClient());
        //load the subscription url
        subWebView.LoadUrl("https://www.bitchute.com/subscriptions/");
        //enable javascript in our webview
        subWebView.Settings.JavaScriptEnabled = true;
        //zoom control on?  This should perhaps be disabled for consistency?
        //we will leave it on for now
        subWebView.Settings.BuiltInZoomControls = true;
        subWebView.Settings.SetSupportZoom(true);
        //scrollbarsdisabled
       // subWebView.ScrollBarStyle = ScrollbarStyles.OutsideOverlay;
        subWebView.ScrollbarFadingEnabled = false;

    }
}

, и я видел много информации о том, как использовать эту

subWebView.GoBack();

для возврата в веб-просмотр, но проблема в том, что мои веб-представления не находятся в пределахобъем моей аппаратной кнопки назад.Аппаратная кнопка «Назад» находится внутри класса mainacctivity, а мои веб-просмотры находятся внутри отдельных экземпляров операций с вкладками.

Какой лучший способ исправить эту проблему?Спасибо!

1 Ответ

0 голосов
/ 15 октября 2018

Большое спасибо @SushiHangover !!!

Я решил это так:

[Activity] открытый класс SpeakersActivity: активность

{

    public override void OnBackPressed()

    {

        WebView subWebView = FindViewById<WebView>(Resource.Id.webViewSubs);

        subWebView.GoBack();

    }

}

...