L
Lilithian
Ambitioniertes Mitglied
- 23
Hey,
ich versuche eine WebView mit ProgressDialog zu laden, das ganze funktioniert auch so lange ich es nicht in einem Thread mache.
Wenn ich es in einem Thread versuche, funktioniert es beim ersten mal laden, aber sobald man den Bildschirm kippt gibt es je nachdem ob man das dismissen des ProgressDialogs in den Thread nimmt oder woanders platziert entweder eine Fehlermeldung (view not attached to window manager) oder aber der ProgressDialog verschwindet gar nicht mehr.
Das ist mein Code ohne Thread, der ja soweit funktioniert.
Meine Fragen wären nun, ob es möglich ist das Laden der Url und das Entfernen des ProgressDialogs in einen Thread zu packen und ob das überhaupt Sinn macht oder ob man es direkt so laden sollte. Habe es auch so versucht, den ProgressDialog über onProgressCreate, showProgress und dismissProgress zu zeigen, aber auch das hatte immer die beschriebenen Fehler. Alle Themen die ich bei Google dazu gefunden hab, haben das Problem irgendwie auch nicht gelöst...
Danke schon mal für eure Hilfe. ^^
ich versuche eine WebView mit ProgressDialog zu laden, das ganze funktioniert auch so lange ich es nicht in einem Thread mache.
Wenn ich es in einem Thread versuche, funktioniert es beim ersten mal laden, aber sobald man den Bildschirm kippt gibt es je nachdem ob man das dismissen des ProgressDialogs in den Thread nimmt oder woanders platziert entweder eine Fehlermeldung (view not attached to window manager) oder aber der ProgressDialog verschwindet gar nicht mehr.
Das ist mein Code ohne Thread, der ja soweit funktioniert.
Code:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
wb = (WebView)findViewById(R.id.webview);
Intent i = this.getIntent();
final String url = i.getStringExtra("url");
final ProgressDialog pd = ProgressDialog.show(ShowNews.this, "",
"News werden geladen...", true);
class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
public void onPageFinished(WebView view, String url) {
if (pd.isShowing()) {
pd.dismiss();
}
}
}
wb.setWebViewClient(new MyWebViewClient());
wb.loadUrl(url);
}
Danke schon mal für eure Hilfe. ^^