Java Android:如何在 OnItemClickListener() 中调用 getActivity()?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/20540773/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Android: How to call getActivity() in OnItemClickListener()?
提问by user2212461
I am trying to call getActivity() in the OnItemClickListener:
我正在尝试在 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();
...
}
});
}
}
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.
如何在 onItemClick() 中调用 getActivity?谢谢。
采纳答案by Apoorv
You can only use getActivity
inside a Fragment
class or one extending it. If your onItemClickListener
is in an Activity
use MainActivity.this
您只能getActivity
在Fragment
类中使用或扩展它。如果您onItemClickListener
正在Activity
使用MainActivity.this
回答by Mitesh Shah
Use Class_name.this
or define a Context
variable. and then call your makeResultsbarVisible()
by using Context
variable,
使用Class_name.this
或定义一个Context
变量。然后makeResultsbarVisible()
使用Context
变量调用你的,
Like,
喜欢,
Context c = this;
c.makeResultsbarVisible();