Ich bin Neuling in Android-Entwicklung.Wie zeigt ProgressBar während des Wartens auf HttpRespons?
Ich habe eine Android-Web-App entwickelt.Wenn ich auf Untermenüs oder Links von dieser Webseite klicken, werden verwandte Artikel von der Website mit RSS-Feeds abgerufen, die im XML-Format ist.
Dieser Vorgang benötigt etwas Zeit zum Laden einer Seite. Ich möchte den Fortschrittsbalken anzeigen, während der Inhalt geladen wird.
Ich habe folgenden Code versucht:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
dialog = ProgressDialog.show(this,"","Loading...");
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);//to remove title bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//to remove notification bar
setContentView(R.layout.main);
wv = (WebView)findViewById(R.id.webview);
wv.getSettings().setJavaScriptEnabled(true);
wv.setBackgroundColor(0);
wv.setWebViewClient(new WebViewClient() {});
wv.loadUrl("file:///android_asset/HomePage.html");
}
@Override
protected void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
// Save the state of the WebView
wv.saveState(outState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState)
{
super.onRestoreInstanceState(savedInstanceState);
// Restore the state of the WebView
wv.restoreState(savedInstanceState);
}
public class mywebclient extends WebViewClient{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
dialog.show();
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl("file:///android_asset/HomePage.html");
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
dialog.dismiss();
}
}
}
Es Fortschrittsbalken zeigt nur auf Homepage und es hat auch nicht zu entlassen, nachdem Seite vollständig geladen ist.
Was kann ich tun, um die Fortschrittsleiste anzuzeigen, wenn Untermenüs oder Links von dieser Webseite angeklickt werden? Danke im Voraus.
Vielen Dank a Bove Beispiel ist wirklich gut und es löst mein Problem ... Aber es gibt ein anderes Problem eine der inneren Seite enthält Java-Skript, die, wenn Sie diese Seite neu schreiben. Für diesen Fortschrittsbalken wird nicht angezeigt. Gibt es eine Methode, die beim erneuten Laden der Seite aufgerufen werden kann, um diesen Fortschrittsbalken anzuzeigen? – Ashutosh
keine Idee .. aber ich benutze pageloading Skript in meinem HTML –
Dose Fortschrittsbalken sichtbar, wenn Skript ausgeführt wird? – Ashutosh