2010-12-02 10 views
0

私のハンドセットでプログラムを実行しようとすると、プログラムはクラッシュし続けます。それは実行時のプログレスバーエラー

をクラッシュされている理由を理解カント

メインの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 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> 

答えて

2

XMLは、あなたがlogcatでこれを取得し、いずれか開くことができますEclipseのlogcatビュー(またはDDMSパースペクティブを開く)を実行するか、シェルからadb logcatを実行してログを表示します。

この場合、コンテンツを作成する前にウィンドウ機能を設定する必要があるというエラーが表示されることがありますので、getWindow().requestFeatureコールの後にsetContentViewコールを移動してください。

+0

これは完璧なおかげでよかった – Sean

+0

素晴らしい、その場合は答えを受け入れることができます(ティックマーク)、ありがとう。 – superfell