为了账号安全,请及时绑定邮箱和手机立即绑定

进度条无法显示

跟着老师敲的,但进度条无法显示,大神帮忙看看

package com.whu.webview;


import android.app.Activity;

import android.app.ProgressDialog;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.view.KeyEvent;

import android.webkit.WebChromeClient;

import android.webkit.WebSettings;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.widget.Toast;


public class Android_webviewActivity extends Activity {

private ProgressDialog dialog;

private WebView webview;

    /** Called when the activity is first created. */

private String url = "http://2014.qq.com/";

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.web);

        //Uri uri = Uri.parse(url);//url 为你要 链接的地址

        //Intent intent = new Intent (Intent.ACTION_VIEW,uri);

       // startActivity(intent);

        init();

    }

private void init() {

// TODO Auto-generated method stub

webview = (WebView) findViewById(R.id.webView);

//WebView 加载本地资源

//webview.loadUrl("file:///android_asset/);

//WebView 加载web资源

webview.loadUrl(url);

//覆盖WebView默认通过第三方或系统浏览器打开网页的行为,使得网页可以在WebView中打开

webview.setWebViewClient(new WebViewClient(){

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

// TODO Auto-generated method stub

//

/*

* 返回值是true的时候控制网页在WebView中打开,

*为false时通过第三方或系统浏览器打开网页

*/

view.loadUrl(url);

return true;

}

//WebViewClient帮助WebView处理一些页面控制或请求通知

});

//启用支持JavaScript

  WebSettings settings = webview.getSettings();

  settings.setJavaScriptEnabled(true);

  //WebView 加载页面优先使用加载缓存

  settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

  

  webview.setWebChromeClient(new WebChromeClient(){

  public void onProgerssChanged(WebView view,int newProgress){

  //newProgress 1-100之间的整数

  if(newProgress==100){

  //网页加载完毕,关闭ProgressDialog

  closeDialog();

  }

  else{

  //网页正在加载,打开ProgressDialog

  openDialog(newProgress);

  }

  }


private void openDialog(int newProgress) {

// TODO Auto-generated method stub

if(dialog==null){

dialog = new ProgressDialog(Android_webviewActivity.this);

dialog.setTitle("正在加载");

dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

dialog.setProgress(newProgress);

dialog.show();

}

else{

dialog.setProgress(newProgress);

}

}


private void closeDialog() {

// TODO Auto-generated method stub

if(dialog!=null&&dialog.isShowing()){

dialog.dismiss();

dialog = null;

}

}

});

  

  

  

}

//改写物理按键--返回的逻辑

  public boolean onKeyDown(int keyCode, KeyEvent event){

  if(keyCode == KeyEvent.KEYCODE_BACK){

  if(webview.canGoBack())

  {   

  Toast.makeText(this, webview.getUrl(),Toast.LENGTH_SHORT).show();

  webview.goBack();//返回上一页面

  return true;

  }

  else

  {

  System.exit(0);//退出程序

  }

  }    

  

return super.onKeyDown( keyCode,  event);

  

  }

}


正在回答

1 回答

public void onProgerssChanged(WebView view,int newProgress)(){}

这个方法是你自己敲一遍的还是生成的,上面少了一个@Override,我猜可能是这个问题,代码没有问题。

0 回复 有任何疑惑可以回复我~
#1

小章啊哈哈 提问者

抱歉,翻了低级错误,把Progress敲错了,难怪当时敲的时候按快捷键没有用。谢谢你啦!
2016-07-14 回复 有任何疑惑可以回复我~
#2

请在夏天叫醒我 回复 小章啊哈哈 提问者

哈哈 正常正常我都没看出来
2016-07-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第1季)
  • 参与学习       111140    人
  • 解答问题       1560    个

本课程由浅入深地带您学会Android的常用控件的开发和使用

进入课程

进度条无法显示

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号