2017-08-25 132 views
0

我正在为我的博客创建一个应用程序。我使用webview在主要活动中加载博客网站。为了使效率更高,我使用ProgressBar在加载网址时加载动画。当捕获另一个URL时,还要添加方法,在系统Web浏览器中打开它。错误在WebChromeClient onProgressChanged事件

这是我有麻烦的代码。问题是当程序捕获另一个URL时,它会打开一个单独的系统浏览器,但它会一直滞后直到我从Android Studio中结束应用程序。有人可以解决这个问题,或者有没有其他的选择呢?

webv.setWebChromeClient(new WebChromeClient(){ 

     @Override 
     public void onProgressChanged(WebView view, int newProgress) { 
      super.onProgressChanged(view, newProgress); 
      if(!webv.getUrl().startsWith("https://lktechtronic.blogspot.com")){ 
       webv.stopLoading(); 
       startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(webv.getUrl()))); 
       webv.goBack(); 
      }else if(webv.getUrl().startsWith("https://lktechtronic.blogspot.com")){ 
       loadinglay.setVisibility(View.VISIBLE); 
       if (newProgress == 100) { 
        loadinglay.setVisibility(View.GONE); 
       } 
      } 
     } 
    }); 
  • webv是我的WebView
  • loadinglay与进度

回答

0

布局,您可以实现shouldOverrideUrlLoading,使自己的WebView加载任何重定向。

+0

工作。感谢马科斯 –