2010-12-02 28 views
0

Le programme continue à se bloquer lorsque j'essaie de l'exécuter sur mon téléphone. ne peux pas comprendre pourquoi il se bloqueBarre de progression Erreur lors de l'exécution

java principal

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> 

Répondre

2

Vous voulez trouver le stacktrace de l'accident, vous pouvez obtenir cela avec logcat, soit ouvrir le affichage logcat dans eclipse (ou ouvrez la perspective DDMS), ou exécutez adb logcat à partir du shell pour voir le journal.

Dans ce cas, je suis sûr que vous verrez une erreur indiquant que vous devez définir la fonction de la fenêtre avant de créer un contenu, déplacez votre appel setContentView après l'appel getWindow().requestFeature.

+0

Cela a fonctionné parfait merci – Sean

+0

grand, dans ce cas, pouvez-vous accepter la réponse (la coche), merci. – superfell