Ich versuche, einen ProgressDialog für eine Android-App zu erstellen (nur eine einfache zeigt dem Benutzer, dass Sachen passiert, keine Tasten oder irgendetwas), aber ich kann es nicht richtig machen. Ich habe Foren und Tutorials sowie den Beispiel-Code, der mit dem SDK geliefert wird, aber vergeblich durch.Android: ProgressDialog zeigt nicht an
Das ist, was ich habe:
btnSubmit.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
(...)
ProgressDialog pd = new ProgressDialog(MyApp.this);
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setMessage("Working...");
pd.setIndeterminate(true);
pd.setCancelable(false);
// now fetch the results
(...long time calculations here...)
// remove progress dialog
pd.dismiss();
Ich habe auch versucht pd.show();
und messed um mit dem Parameter in new ProgressDialog
was gar nichts hinzugefügt (außer Fehler, dass der gewählte Parameter wird nicht funktionieren), Das bedeutet: Der ProgressDialog wird niemals angezeigt. Die App läuft einfach so weiter, als hätte ich den Dialog nie hinzugefügt.
Ich weiß nicht, ob ich den Dialog am richtigen Ort erstelle, ich habe ihn ein wenig verschoben, aber das hat auch nicht geholfen. Vielleicht bin ich im falschen Kontext? Der obige Code ist innerhalb private ViewGroup _createInputForm()
in MyApp
.
Jeder Hinweis ist willkommen,
Ich habe neu erstellt von meiner App, um dies zu tun :) Die Tutorials, die ich las klang, wie dies ohne einen anderen Thread möglich war, aber Sie hören nie auf zu lernen. Ich bin noch nicht fertig: jetzt zeigt der ProgressDialog nicht mehr wo er soll (zumindest zeigt es!), Sondern kurz bevor die Ergebnisse kommen, "blitzt", aber jetzt denke ich, dass ich den Rest alleine machen kann;) Vielen dank für Deine Hilfe! – Select0r
Um dies zu vervollständigen, falls jemand interessiert ist: das "Blinken" des ProgressDialogs passiert nur im Emulator, nicht auf dem eigentlichen Gerät. Es scheint so, als ob der Emulator 100 Sekunden braucht, bevor die Anfrage (onClick) bearbeitet wird und die App erstarrt, bis das passiert. Auf dem Gerät alles in Ordnung. – Select0r
warum benutzen wir nicht pd = new ProgressDialog (this); pd.show(); – Emerald214