进度条运行时出错

时间:2010-12-02 06:36:32

标签: android progress-bar android-webview

当我尝试在手机上运行程序时程序不断崩溃。无法弄清楚它崩溃的原因

主要的java

public class ProgressBar extends Activity {

WebView webview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.main );
 final Activity MyActivity = this;

// Makes Progress bar Visible
getWindow().setFeatureInt( Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);

webview = (WebView) findViewById(R.id.webview);
webview.setWebChromeClient(new WebChromeClient() {
    public void onProgressChanged(WebView view, int progress)   
    {
     //Make the bar disappear after URL is loaded, and changes string to Loading...
    MyActivity.setTitle("Loading...");
     MyActivity.setProgress(progress * 100); //Make the bar disappear after URL is loaded

     // Return the app name after finish loading
        if(progress == 100)
           MyActivity.setTitle(R.string.app_name);
      }
    });

webview = (WebView) findViewById(R.id.webview);
webview.setWebViewClient(new HelloWebViewClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.google.com/");

}
private class HelloWebViewClient extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url)
    {
        view.loadUrl(url);
    return true;
    }
    }
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
    webview.goBack();
    return true;
    }
    return super.onKeyDown(keyCode, event);
    }
    }

XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/>
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
</LinearLayout>

1 个答案:

答案 0 :(得分:2)

你想要从崩溃中找到堆栈跟踪,你可以用logcat来获取它,或者在eclipse中打开logcat视图(或者打开DDMS透视图),或者从shell运行adb logcat来查看日志中。

在这种情况下,我很确定您会在创建任何内容之前看到任何错误,说您需要设置窗口功能,在setContentView电话后移动getWindow().requestFeature来电。