進度條無法顯示
跟著老師敲的,但進度條無法顯示,大神幫忙看看
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);
??
? }
}
2016-07-14
這個方法是你自己敲一遍的還是生成的,上面少了一個@Override,我猜可能是這個問題,代碼沒有問題。