Android: How to call getActivity() in OnItemClickListener()?

12.6k views Asked by At

I am trying to call getActivity() in the OnItemClickListener:

class ViewTest{ //called in a fragment
setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int p, long i) {
                ((MainActivity) getActivity()).makeResultsbarVisible();
...
            }

        });

}

In the fragment, the class is instantiated as:

ViewTest editTest = new ViewTest(this);

But I get an error that I cannot fix:

The method getActivity() is undefined for the type new AdapterView.OnItemClickListener(){}

How can I call getActivity inside onItemClick()? Thanks.

2

There are 2 answers

1
Apoorv On BEST ANSWER

You can only use getActivity inside a Fragment class or one extending it. If your onItemClickListener is in an Activity use MainActivity.this

0
Mitesh Shah On

Use Class_name.this or define a Context variable. and then call your makeResultsbarVisible() by using Context variable,

Like,

Context c = this;

c.makeResultsbarVisible();