Android:如何在OnItemClickListener()中调用getActivity()?

时间:2013-12-12 10:21:45

标签: java android casting onitemclick main-activity

我试图在OnItemClickListener中调用getActivity():

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

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

        });

}

在片段中,类被实例化为:

ViewTest editTest = new ViewTest(this);

但我得到一个我无法解决的错误:

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

如何在onItemClick()中调用getActivity?感谢。

2 个答案:

答案 0 :(得分:31)

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

答案 1 :(得分:0)

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

调用Context

像,

Context c = this;

c.makeResultsbarVisible();