首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

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

2014-01-01 
怎么样可以每打开一个网页都会加载进度条?我用以下的方式 。只有在第一次打开的时候有加载进度条,但是以后

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

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中,当然我的机制是这样的

热点排行