Ich habe ein Fragment und an seinem onStart(), habe ich eine Menge von BD-Abfragen gemacht, die für 15 Sekunden lang sind. Ich möchte einen Fortschrittsdialog mit einem "Ladekreis" zeigen. Meine App, hat nur eine Aktivität, die Main. Dies startet das erste Fragment und von diesem springt ich zu einem anderen Fragment und dasselbe für das nächste. Um von einem Fragment zum anderen zu gelangen, verwende ich die nächste statische Methode.Dialog anzeigen, auf Fragment funktioniert
Ich habe versucht, einen Thread in dieser Methode, was den Fortschritt Dialog startet, aber es hat nicht funktioniert. Ich habe versucht, den Dialog mit der OnCreate() Methode des Fragments zu starten, und das hat auch nicht funktioniert.
Was kann ich tun?
Vielen Dank.
(Bearbeiten) Ich habe versucht, den Fortschrittsdialog innerhalb des Fragments zu starten, bei onCreateView() und bei onViewCreated(). Es hat nicht funktioniert, aber wenn ich Schritt für Schritt debugge, sehe ich, dass in dem Moment, in dem der Fluss zum onStart() geht (wo es für 10 Sekunden einen DB benutzt), der ProgressDialog stoppt.
Durch diesen Test verstehe ich, dass der ProgressDialog korrekt angezeigt wird, aber wenn ich auf onStart() gehe, verschwindet es.
(Edit)
Das Problem ist, dass bei der onStart() des Fragment, ich bin auf den Ansichten arbeiten, Elemente addking. Ich brauche, dass, während diese Elemente laden, ein Dialog gezeigt wird, weil jetzt, für den Benutzer, es scheint, dass die App sttoped ist, während es lädt. Ich würde so etwas wie dieses brauchen:
public static startFragment(FragmentTransaction FT, Fragment newFragmentToOpen)
{
startProgressDialog();
FT.replace(R.id.container, newFragmentToOpen);
FT.addToBackStack(null);
FT.commit();
stopProgressDialog();
}
Aber es nicht funktioniert, weil der Fortschritt Dialog gerade beginnt, wenn der Blick auf das Fragment vollständig geladen ist.
fügen Sie bitte den Code von, was Sie früher versuchten, wird helfen, Frage gut zu verstehen. – W4R10CK
Es ist zu viel Code. Wie ich auf der Post sage, ist meine App auf Fragmente basiert. Ich habe viele Fragmente, die man einander nennt. Ich benutze dafür eine statische Methode (gezeigt im ersten Post). An den Fragmenten, am OnStart() mache ich viele DB-Sätze, dann brauche ich das, während die 10 Sekunden, die es lädt, etwas gezeigt werden. –