Skip to content

Retrieve Context from a fragment

I created a class to retrieve comments from a JSON encoding from a PHP file. This class, extends from AsyncTask:

public class RecuperarComentarisFoto extends AsyncTask<String, String, String>{

    protected void onPreExecute() {
        pDialog = new ProgressDialog(????);
        pDialog.setMessage("Creating Product..");

    protected String doInBackground(String... arg0) {
        // TODO Auto-generated method stub
        return null;

    protected void onPostExecute(String result) {
        // TODO Auto-generated method stub


As you can see, I’m trying to show a ProgressDialog while the “doInBackground” proccess is working. But progressDialog constructor, asks for a Context, and I don’t know how to provide it.

I’m calling this class from a Fragment, so I can’t access the context like this:

pDialog = new ProgressDialog(MyFragmentA.context);

The “main” acitivity is called: AndroidViewPagerActivity which extends FragmentActivity.

(By main, I mean that it’s the one that is creating the tabs, and managing the navigation between them.)

This is it’s code:

public class AndroidViewPagerActivity extends FragmentActivity {
ViewPager mViewPager;
TabsAdapter mTabsAdapter;

/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {

    mViewPager = new ViewPager(this);

    final ActionBar bar = getActionBar();
    bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_HOME);

    mTabsAdapter = new TabsAdapter(this, mViewPager);
    mTabsAdapter.addTab(bar.newTab().setText("Fragment A"), MyFragmentA.class, null);

    if (savedInstanceState != null) {
        bar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0));


How can I access the context? Which context should I use? “AndroidViewPagerActivity” context? So how can I access its context from a fragment?

Thank you.



Use getActivity() inside the Fragment to obtain a Context that you can pass along. That works, as Activity inherits from Context.

As alternative you can use getApplicationContext() to obtain the Context.