2016-07-28 19 views
-4

Ich las über context in Android und wurden in meiner Android-Anwendung.Aber dann kam ein Gedanke in meinen Sinn. Das, Warum gehen wir context im constructor nur und nicht einig method, etwas wie die component.setContext(context), wo component ist eine hypothetische Komponente und setContext ist eine hypothetische Methode und Kontext getConetxt/this/getApplicationContext sein könnte (von den Anforderungen).Anwendung von Kontext durch Methode, aber nicht durch Konstruktoren

wenn jemand diesen Titel denkt oder irgendetwas ist nicht geeignet, sie sind frei bearbeiten/ändern.

Bitte helfen Sie mir it.Thanks

+0

downvoters, bitte erklären Sie den Grund der Abstimmung nach unten, so dass ich meine Frage verbessern kann. –

Antwort

1

Grundsätzlich sind beide gleich, zu verstehen, wenn Sie ein Context über Konstruktor oder über eine beliebige Setter-Methode übergeben.

Sie werden müssen immer noch einen Verweis auf den Kontext in Ihrer Klasse haben, die entweder während der Erstellung des Objekts, das heißt über den Konstruktor initialisiert wird oder später über eine Setter-Methode initialisiert wird.

In beiden Fällen ist der Kontext Referenz immer noch da. Es ist nur eine Frage zu eifrig Initialisierung oder faul Initialisierung.

Aber im Fall von eifriger Initialisierung, während des Kontextes, in der Klasse Zugriff sind Sie sicher, dass der Kontext sicher initialisiert wurde und Sie können es sicher verwenden.

Aber es gibt keine Garantie dafür bei faul Initialisierung. Und als Größe Anmerkung macht den Unterschied zu den beiden Arten von Context Check-out - Anwendungskontext und Aktivität Kontext.

+0

Netter Gedanke, aber immer noch aus irgendeinem technischen Grund warten (wenn überhaupt). –

+1

Es ist nicht nur ein Gedanke. Habe versucht, dich auch technisch zu erklären. Es ist ein sehr einfaches Java-Problem, Sie könnten nur ein wenig verwirrt sein. Lass es mich wissen, wenn du etwas mehr wissen musst. –