Wie die Umsetzung progressBar während laden von Daten?
Ich umsetzen will, progressBar, wie die auf dem Bild unten.
Jetzt habe ich AsyncTask whic ist sperated aus Fragmenten Klassen, und ich benutze den AsyncTask für das laden der Daten, und jetzt muss ich implementieren, dialog, progressBar, aber ich will mich loswerden, weil ich will, eine bessere UX.
Ich zeigen, dass die ProgressBar-dialog in onPreExecute() Methode, und dann entlassen Sie onPostExecute.
So, wie ich das implementieren kann, die im hintergrund Fortschrittsbalken wie auf dem Bild unten
Ich denke, Sie sollten einen Blick auf diese Bibliothek github.com/johnkil/Android-ProgressFragment
InformationsquelleAutor Zookey | 2013-09-17
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dude,
Wenn Sie wirklich wollen einfach nur einen Fortschrittsbalken, wie das Bild, das Sie gebucht haben, können Sie einfach legen Sie die Fortschritt-bar unbestimmten - Eigenschaft auf true 🙂
Können Sie entweder tun, auf code oder direkt auf der xml.
Code:
In der XML, nur das Attribut unbestimmt zu wahren.
Hier ist ein einfaches layout als Beispiel:
Meine schlecht, ich verwendet progressDialog statt der ProgressBar, aber trotzdem, wie ich colud zeigen es onPreExecute, oder entlassen onPostExecute.
Hast du auch versucht, die änderung der Sichtbarkeit Attribut? Jede Ansicht hat dieses Attribut...
Ich benutze pb.setVisible-Methode ("Ansicht".SICHTBAR) in onPreExecute -, und pb.setVisible-Methode ("Ansicht".WEG) onPostExecute. Dann habe ich noch eine progressBar in die XML-Datei des fragments, und mithilfe der Konstruktor von AsyncTask ich die Referenz zwischen progressBar-in fragment mit der AsyncTask Klasse.
So, ich habe nicht dein problem. Warum gehst du nicht einfach aufhören mit dem Fortschritts-dialog, und starten Sie mit einem Fortschrittsbalken. Das gleiche können Sie tun, was Sie jetzt tun. Zeigen Sie die unbestimmte Statusleiste auf preExecute, tun Ihre Sachen, und loszuwerden, auf die Fortschritt-bar auf postExecute.
InformationsquelleAutor Thiago M Rocha
Wenn Sie nur wollen, um die Fortschritte zu zeigen, werfen Sie einen Blick auf diesen code. Dies kann Ihnen eine Idee geben:
public class MainActivity extends Activity implements OnClickListener {
}
Aber wenn Sie wollen, um zu zeigen, wie ein dialog, werfen Sie einen Blick auf diese code:
public class YoutubeVideoMain erstreckt Aktivität {
}
Vielleicht kann dies Ihnen helfen.
Man kann immer noch die Instanz von AsyncTask-Klasse in der main-Klasse rechts.
Sowieso das Konzept wird das gleiche sein. Deine main-Klasse ist sowieso rufen die AsncTask wenn die app gestartet wird, so wird ein Dialogfeld angezeigt, durch die AsyncTask-Klasse in Ihrem Fall.
Ich will nicht dialog angezeigt werden, nur die progressBar im hintergrund, wie Sie sehen können auf dem Bild oben.
Ich kann nicht erstellen Sie eine progressBar-Instanz in einigen fragment-Klasse, und greifen Sie dann zu, dass progrssBar von meinem AsyncTask Klasse.
InformationsquelleAutor mike20132013
Mit der gleichen asynctask mit publishProgress()
Das bedeutet, dass die asynchrone Aufgabe haben sollte, einen Verweis auf die Ansicht, dass bekommen konnte, entsorgt werden (nullpointerexception)
InformationsquelleAutor Alvaro Ardila
und es ist ein
ProgressDialog
nichtProgressBar
Diese Klasse wurde als veraltet markiert in der API-level 26. ProgressDialog ist ein Modaler dialog, der verhindert, dass der Benutzer die Interaktion mit der app. Anstelle der Verwendung dieser Klasse, sollten Sie eine Fortschrittsanzeige wie ProgressBar, die eingebettet werden können, in der die Benutzeroberfläche Ihrer app. Alternativ können Sie eine Meldung informiert den Benutzer von der Aufgabe, die Fortschritte.
InformationsquelleAutor Sachin Gadagi