0

私は単純なモノドロイドの問題を抱えています

アクティビティ A がアクティビティ B を呼び出す

アクティビティ B には Web ビューがあり、次のようになります

SetContentView(Resource.Layout.webView);
WebView webView = FindViewById<WebView>(Resource.Id.webView1);
webView.Settings.JavaScriptEnabled = true;
webView.LoadUrl(url);
webView.SetWebViewClient(new dealWithWebView());

dealWithWebView() には、これがあります

class dealWithWebView : WebViewClient
{
    WebView webView;

    public override void OnPageFinished(WebView view, string url)
    {
        webView = view;
        Context c = webView.Context;
        // it goes away and does something
        // calls another method in the class which returns back here
    }
}

問題は、それを WebViewClient から返してから、「B」から「A」に戻すことができないように見えることです。

どうすればいいですか?

4

2 に答える 2

0

あなたは次のようなことをすることができます

SetContentView(Resource.Layout.webView);
WebView webView = FindViewById<WebView>(Resource.Id.webView1);
webView.Settings.JavaScriptEnabled = true;
webView.LoadUrl(url);
webView.SetWebViewClient(new dealWithWebView(this));

使用するもの:

class dealWithWebView : WebViewClient
{
    Activity parent;
    public dealWithWebView(Activity parent)
    {
        this.parent = parent;
    }

    public override void OnPageFinished(WebView view, string url)
    {
        var webView = view;
        Context c = webView.Context;
        // it goes away and does something
        // calls another method in the class which returns back here
        // all done - so finish the parent now
        parent.Finish();
    }
}
于 2012-06-17T20:58:59.597 に答える