10

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.

4

2 回答 2

34

您只能getActivity在一个Fragment类或一个扩展它的类中使用。如果您onItemClickListener正在Activity使用MainActivity.this

于 2013-12-12T10:24:11.920 回答
0

使用Class_name.this或定义Context变量。然后makeResultsbarVisible()使用Context变量调用你的,

喜欢,

Context c = this;

c.makeResultsbarVisible();
于 2013-12-12T10:33:20.843 回答