我试图在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?感谢。
答案 0 :(得分:31)
您只能在getActivity
类中使用Fragment
或扩展它。如果您的onItemClickListener
使用Activity
MainActivity.this
答案 1 :(得分:0)
使用Class_name.this
或定义Context
变量。然后使用makeResultsbarVisible()
变量
Context
像,
Context c = this;
c.makeResultsbarVisible();