В чем разница между this и getContext(), когда я говорю this, я имею в виду this в пределах Activity.
Разница в контексте this и getContext()
Ответ 1
В общем, существует два типа классов. Которые расширяют ContextWrapper класс (Activity, Service, Application) и те, которые его не расширяют (например, View).
-
Если класс extends
ContextWrapper, вы можете использоватьthisкакContext. Обычно такие классы не имеют методаgetContext(). -
Те классы, которые не расширяют
ContextWrapper, но сохраняют и используютContext, обычно открывают функциюgetContext(). И вы не можете использоватьthisкакContextв таких случаях.
И эти два случая являются взаимоисключающими. По крайней мере, я не помню классы, которые расширяют ContextWrapper и имеют getContext одновременно.
Ответ 2
getContext() не определяется в Activity. Он используется в подклассе View (или View), чтобы получить ссылку на охватывающий контекст (действие).
Ответ 3
Нет никакой разницы. Когда вы находитесь в Activity, getContext() вернет это. Это связано с тем, что Activity является контекстом!