Android ProgressDialog mit setContentView
-
08-10-2019 - |
Frage
Ich habe eine verdammt viel darüber gelesen und kann nicht sehen, wer getan hat oder versucht, es vor.
Also habe ich ein Objekt haben, die Image erstreckt, dann innerhalb dieses nenne ich einen Fortschrittsdialog und setzen Sie den Inhalt des Fortschrittsdialoge auf die Imageview (dh versuchen, den Fortschrittsdialog in der imageview..view zu ziehen.)
loadingProgressDialog.setContentView(this); //this is: LoaderImageView extends ImageView
loadingProgressDialog.setIndeterminate(true);
loadingProgressDialog.show();
Und ich bekomme die Fehlermeldung: requestFeature () muss vor dem Hinzufügen von Inhalten aufgerufen werden
Jetzt habe ich diesen Fehler gesehen, bevor sie auf Lasten der Beiträge und ja die Antwort scheint offensichtlich. Ich habe versucht, alle Funktionen zu setzen:
loadingProgressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
loadingProgressDialog.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_PROGRESS);
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
Aber zuerst verstehe ich nicht, warum ich das brauchen? Und zweitens keiner von ihnen arbeiten sowieso!
Die Frage ist also kann ich die ProgressDialog content zu einem Image eingestellt? Wenn ja, was habe ich falsch verstanden?
Lösung 3
Got es.
Der Schlüssel war in den Klassennamen, verwenden Sie nicht ProgressDialog ( http: //developer.android.com/reference/android/app/ProgressDialog.html ), wenn Sie nicht brauchen einen Dialog!
Ich änderte meine Implementierung zu verwenden: ProgressBar ( http://developer.android .com / reference / android / Widget / ProgressBar.html ) und es funktioniert super.
Beifall für das Ohr sowieso!
Aus diesem Grund war ich für sie suchen:
http: //www.anddev. org / Anfänger-Tutorials-f8 / Imageview-mit-Laden-Spinner-t49439.html
Tutorial zeigt, wie Sie einen Spinner haben können, während ein Bild geladen ist. Genießen Sie
Andere Tipps
Ich habe es; in der Tat, es ist sehr einfach; mit
loadingProgressDialog.setContentView(this)
nach
loadingProgressDialog.show()
Die folgenden Codezeilen sind nicht erforderlich:
loadingProgressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
loadingProgressDialog.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_PROGRESS);
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
, dass die sagen:
loadingProgressDialog.setIndeterminate(true);
loadingProgressDialog.show();
loadingProgressDialog.setContentView(this); //this is: LoaderImageView extends ImageView
Das ist genug.
Ich hoffe, das andere für Antwort zu dieser Frage betrachten helfen kann.
Wenn Sie die progressDialog Entwickler doc lesen heißt es „Ein Dialog eine Fortschrittsanzeige zeigt und eine optionale Textnachricht oder Sicht. Nur eine Textnachricht oder eine Ansicht können gleichzeitig verwendet werden.“
Es sieht aus wie Sie versuchen, beides zu tun. Möglicherweise ist die Ursache für das Problem.