欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

如何样可以每打开一个网页都会加载进度条

更新时间: 2014-01-05 02:34:58 责任编辑: Author_N1

 

怎么样可以每打开一个网页都会加载进度条?
我用以下的方式 。只有在第一次打开的时候有加载进度条,但是以后打开的网址都 不加载了。请问怎么可以让他每打开一次都会加载?

WebView web = null;

ProgressDialog dialog = null;
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);

       web = (WebView)findViewById(R.id.webview1);
       WebSettings webSettings = web.getSettings();// 使能JavaScript
       webSettings.setJavaScriptEnabled(true);// 使能JavaScript
       if(web != null)
       {
        web.setWebViewClient(new WebViewClient()
        {
         @Override
         public void onPageFinished(WebView view,String url)
         {
          dialog.dismiss();
         }
        });
        
        loadUrl("http://wap.td776.com");
       }
      
   }
  
  
   public void loadUrl(String url)
   {
    if(web != null)
    {
     web.loadUrl(url);
     dialog = ProgressDialog.show(this,null,"页面加载中,请稍后..");
     web.reload();
    }
   }

效果! 

  
--参考方法--
试试重写shouldOverrideUrlLoading
--参考方法--
这个问题很简单
你web第一次创建了,以后这个web对象不为空,当然不会显示了。。
解决方式很简单,
重写onDestroy方法
每次退出时把web置为空就行了。
另外,你这叫加载条进度条的名字很晃人
想实现进度条的话需要添加
new WebChromeClient()对象
--参考方法--
引用:
这个问题很简单
你web第一次创建了,以后这个web对象不为空,当然不会显示了。。
解决方式很简单,
重写onDestroy方法
每次退出时把web置为空就行了。
另外,你这叫加载条进度条的名字很晃人
想实现进度条的话需要添加
new WebChromeClient()对象

上面看错了。。。
这是线程的问题,
楼主改成。
public void loadUrl(String url) {
if (web != null) {
dialog = ProgressDialog.show(this, null, "页面加载中,请稍后..");
Log.e("TEST", dialog.toString());
web.loadUrl(url);
// web.reload();
}
}

就行了。
--参考方法--
上面的方法可以实现楼主要求的,我前面也类似的实现过,但后来我的应用在后台的的错误报告中很多4.2的机器都会报dialog错,所以我借鉴了zaker的经验加载进度写在html中,当然我的机制是这样的
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:34:58
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/11678/
本文WWW.DOC100.NET DOC100.NET版权所有。