首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WebViewClient onLoadResource/onPageFinished

WebViewClient onLoadResource/onPageFinished
EN

Stack Overflow用户
提问于 2015-01-16 13:16:41
回答 1查看 4.9K关注 0票数 2

嗨,我试图创建一个WebView应用程序,我想要创建一个等待对话框,直到页面加载。

然而,我尝试过不同的解决方案,但我不明白为什么当它在互联网上为其他人工作时,这是不起作用的。它在webview.SetWebViewClient(新的WebViewClient() {,甚至我确信我记得})之后缺少了"}“,这是失败的。

它似乎不能在webview.SetWebViewClient()中创建一些东西。

代码语言:javascript
运行
复制
    webview.SetWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }

        public void onLoadResource(WebView view, String url) {
            //code to show dialog
        }

        public void onPageFinished(WebView view, String url) {
            //code to dismiss dialog
        }

    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-16 13:36:36

要将WebViewClient添加到WebView并在C#中显示来自shouldOverrideUrlLoading的Toast消息,您需要将WebViewClient扩展为:

代码语言:javascript
运行
复制
public class HelloWebViewClient : WebViewClient
{
  public Activity mActivity;
  public HelloWebViewClient(Activity mActivity){
   this.mActivity=mActivity
  }
  public override bool ShouldOverrideUrlLoading (WebView view, string url)
        {
                view.LoadUrl (url);
                Toast.MakeText (mActivity, "Toast Message", 
                                     ToastLength.Long).Show();
                return true;
        }
}

并使用HelloWebViewClient类构造函数传递活动上下文:

代码语言:javascript
运行
复制
web_view.SetWebViewClient (new HelloWebViewClient (this)); 
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27984800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档