Wenn ich Listenansicht verwende und ich eine benutzerdefinierte Basisadapterklasse habe, erhalte ich unterschiedliche Textfarbe in der Listenansicht, wenn der Basisadapter von getApplicationContext
und classname.this
instanziiert wird. Von getApplicationContext
bekomme ich weiße Textfarbe aber classname.this
ist schwarz. Kann mir das jemand erklären?Unterschied zwischen getApplicationContext und classname.this
Antwort
Grundsätzlich sind sie beiden Instanzen von Context, aber der Unterschied ist Anwendungsinstanz mit dem Lebenszyklus der Anwendung gebunden ist, während die Aktivität Instanz mit dem Lebenszyklus einer Aktivität verknüpft ist. Damit sie den Zugriff auf verschiedene Informationen über die Anwendungsumgebung haben ...
getApplicationContext siehe
EDIT
Bei der Suche nach Ihrer Antwort wird es Ihnen helfen Android Holo Light styling changes depending on chosen context
Vielen Dank Ich fand meine Antwort in Ihrem Beitrag –
welcum :) Liebe ... froh, ich könnte Ihnen helfen – Shiv
Aktivitätsname.dies bezieht sich auf Aktivitätskontext. getApplicationContext() bezieht sich auf den Anwendungskontext.
In den meisten Fällen ist es besser, Aktivitätskontext zu verwenden.
Überprüfen Sie die Antwort von commonsware. Hat eine Detailerklärung zum Thema.
When to call activity context OR application context?
Zitat bilden den Link oben
Hier sind Gründe warum nicht verwenden getApplicationContext(), wohin Sie gehen:
Es ist keine vollständige Kontext, alles unterstützt diese Aktivität tut es. Verschiedene Dinge, die Sie mit diesem Kontext versuchen werden, werden fehlschlagen, hauptsächlich im Zusammenhang mit der GUI.
Es kann Speicherlecks verursachen, wenn der Kontext von getApplicationContext() auf etwas hält, das durch Ihre Aufrufe erstellt wurde, die Sie nicht bereinigen. Mit einer Aktivität, wenn sie sich an etwas hält, sobald die Aktivität Müll sammelt, wird auch alles andere gelöscht. Das Anwendungsobjekt bleibt für die Lebensdauer Ihres Prozesses erhalten.
Vielen Dank, aber wirklich konnte ich nicht verstehen, warum die Textfarbe in beiden Kontext –
einfach ist lies den Punkt 1 in der Antwort. vielleicht der Grund. Zeig uns etwas Code. – Raghunandan
Ja, Sie haben Recht, vielleicht sollte ich Kontextreferenz sorgfältig lesen –
- 1. Unterschied zwischen getApplicationContext() und getActivity()
- 2. Toast: Unterschied zwischen "this" und "getApplicationContext()"?
- 3. Unterschied zwischen Aktivität Kontext und Anwendungskontext
- 4. Unterschied zwischen Vorzeichen & und *?
- 5. VBA: Unterschied zwischen & und +
- 6. Unterschied zwischen "**/* /" und "** /"?
- 7. Unterschied zwischen $ # und $ {# @}
- 8. Unterschied zwischen = und: =
- 9. Unterschied zwischen '#', '%' und '$'
- 10. MySQL: Unterschied zwischen ', `,' und '
- 11. C++ Unterschied zwischen '//' und '///'
- 12. Unterschied zwischen String.Empty und ""
- 13. Unterschied zwischen `% in%` und `==`
- 14. Unterschied zwischen numpy.logical_and und &
- 15. Unterschied zwischen. und #
- 16. Unterschied zwischen // und http: //
- 17. Was unterscheidet MainActivity.this vs getApplicationContext()
- 18. Unterschied zwischen -Wconversion zwischen gcc und g ++
- 19. Unterschied zwischen Wörterbuch und Hashtable
- 20. Unterschied zwischen FetchMode und FetchType
- 21. Unterschied zwischen Application_Start und Application_OnStart
- 22. Unterschied zwischen Uint8Array und Uint8ClampedArray
- 23. Unterschied zwischen BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION?
- 24. Unterschied zwischen Suche und Index
- 25. Unterschied zwischen AJAX und Senden
- 26. Unterschied zwischen Spekulation und Vorhersage
- 27. Unterschied zwischen inproc und outproc
- 28. Unterschied zwischen Clojure und Clojurescript?
- 29. Unterschied zwischen NSArray und NSMutableArray
- 30. Unterschied zwischen libcurl und libsoup
siehe [hier] (http : //stackoverflow.com/questions/5018545/getapplication-vs-getapplicationcontext) – Gunaseelan
Möglicherweise haben Sie ein anderes Thema auf Ihre spezifische Aktivität als die gesamte Anwendung angewendet. Dies könnte zu unterschiedlichen Stilen führen, je nachdem, welcher Kontext verwendet wird. – Shiv
Ich benutze tatsächlich android: theme = "@ style/Theme.VPI" in allen meine activty –