Kann eine benutzerdefinierte Ansicht wissen, dass onPause aufgerufen wurde?
Habe ich eine benutzerdefinierte Ansicht, die läuft ein Faden-operation, die, es sich um Aufrufe an die interwebs regelmäßig. Ich würde gerne wissen, ob es eine Möglichkeit für mich, nicht zu töten, die den thread aus der übergeordneten Aktivität (onPause), so dass der Thread nicht Fräsen über in den hintergrund, nachdem die Aktivität wurde im hintergrund (und/oder getötet).
Die Absicht hier ist für die benutzerdefinierte Ansicht zu sein autark und benötigen keine zusätzliche Bearbeitung der Aktivität. Die Art und Weise zu tun, wäre für Sie zu hören, wenn seine Eltern war im hintergrund und lassen Sie dann den unendlichen Schlaf-Schleife im Thread ablaufen. Ich bin mir nicht sehen, ein Weg, das zu tun, aber bin der Hoffnung, dass ich etwas Blick.
InformationsquelleAutor der Frage Genia S. | 2014-03-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht, es sei denn, Sie informieren ihn direkt an.
Für Ihren Zweck überschreiben
View.onDetachedFromWindow()
und verzichten Sie Ihren Thread gibt. Dann, wenn die Ansicht wieder sichtbar ist, drehen Sie den Faden zurück bis inView.onAttachedToWindow()
. Das problem mit onPause() und onResume() ist, dass man noch eine Sicht, die auf dem Bildschirm sichtbar, aber an einer pausierten Aktivität. Ein Beispiel, wenn dies geschehen kann, ist, wenn Sie eine Tätigkeit in einem Fenster überlagert den anderen.Oder, wie william gouvea schlägt vor, ein Fragment sein könnte besser geeignet für Ihren Zweck, da es bereits das life-cycle-Haken zum anhalten und fortsetzen, und jeder, der spricht zu dem Netzwerk wirklich fällt in die controller Reich sowieso.
InformationsquelleAutor der Antwort dcow
InformationsquelleAutor der Antwort Yogesh Rathi
Entweder Sie haben zu lassen, Ihre Ansicht wissen, dass der Besitz Activity nicht im Vordergrund ist, oder Abfragen, das system mit einer bestimmten Methode zur Abfrage über die Aufgabe wird derzeit im Vordergrund, und das scheint mir sehr ineffizient.
Hier sind zwei links zu diesem Thema:
(Dies kann nicht wirklich eine Antwort, aber es war zu groß für einen Kommentar)
InformationsquelleAutor der Antwort Merlevede
Wenn Sie einfach überschreiben Sie die View-Klasse und erstellen Sie Ihre eigenen CustomView Sie können eine Schnittstelle zu handeln, als Zuhörer, die umgesetzt werden sollten, indem Sie übergeordnete Aktivität, also, wenn etwas passiert, lösen Sie das Ereignis aus und stellen Sie die Kommunikation zwischen diesen Komponenten hin und her.
Je nachdem, was Sie erreichen wollen, Fragmente nützlich sein könnte, da diese Komponente hat Ihren eigenen Lebenszyklus ähnlich Aktivität (onPause/onResume zum Beispiel) , hält Ihren eigenen Staat, entweder hat oder nicht, ein Blick und behalten Ihren Zustand zwischen Konfiguration chamges.
Sehen Sie mehr in:
http://developer.android.com/reference/android/app/Fragment.html
http://developer.android.com/guide/components/fragments.html
InformationsquelleAutor der Antwort william gouvea