Home » Android » android – What is the difference between this, getContext() and getActivity()?

android – What is the difference between this, getContext() and getActivity()?

Posted by: admin April 23, 2020 Leave a comment

Questions:

I am very confused with the usage of all these that where should we use them.

How to&Answers:

this – return self reference
getContext() – return Context
getActivity() – return Activity

Context.

Quote from original answer :

As the name suggests, its the context of current state of the application/object. It lets newly created objects understand what has been going on. Typically you call it to get information regarding another part of your program (activity, package/application)

Activity

Activity is a Java code that supports a screen or UI. In other words, building block of the user interface is the activity.
Activity class is a pre-defined class in Android and every application which has UI must inherit it to create window. Activity represents the presentation layer of an Android application, e.g. a screen which the user sees. An Android application can have several activities and it can be switched between them during runtime of the application.

Note : Activity extends Context. Context not an Activity.

Answer:

Activity is a subclass of Context, so whenever a context is required, either can be given.

getActivity() is at least a method on Fragment, to get the activity it is attached to.

Whenever a context is needed in an instance method of an activity, you can use this.

A context is needed whenever contextual info is needed, or when stuff needs to be displayed.