Różnica w kontekście this I getContext()

Jaka jest różnica między this a getContext(), Kiedy mówię this mam na myśli this w obrębie Activity.

Author: Brian Tompsett - 汤莱恩, 2011-06-03

3 answers

Ogólnie są dwa rodzaje klas. Te, które rozciągają ContextWrapper klasa (Activity, Service, Application) i tych, które go nie rozszerzają (np. View).

  1. Jeśli Klasa rozszerza ContextWrapper, możesz użyć this jako Context. Klasy takie zwykle nie posiadają metody getContext().

  2. Te klasy, które nie rozszerzają ContextWrapper, ale nadal zapisują i używają Context normalnie eksponują getContext() funkcję. I nie można używać this jako Context w takich przypadkach.

I te dwa przypadki wzajemnie się wykluczają. Przynajmniej nie przypominam sobie klas, które rozszerzają ContextWrapper i mają getContext w tym samym czasie.

 63
Author: inazaruk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-03 15:33:16

getContext() nie jest zdefiniowana w działaniu. Jest używany w View (lub View podklasie), aby uzyskać odniesienie do kontekstu (aktywności).

 16
Author: Ted Hopp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-03 15:33:54

Nie ma różnicy. Gdy jesteś w aktywności, getContext() zwróci to. Dzieje się tak dlatego, że działanie jest kontekstem!

 5
Author: Justin Breitfeller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-03 15:25:02