我在应用程序/对象的android当前状态中读取上下文
Intent intent=new Intent(this,SecondaryActivity.class);
startActivity(intent);
代替this
我们可以使用getApplicationContext()
但在一个
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), "Hai",Toast.LENGTH_LONG).show();
}
我们不能在this
使用getApplicationContext()
我的意思是this
为什么这也引用了当前的对象,因此我对context
和{{1}}帮助我学习感到困惑这个,参考分享给我..
答案 0 :(得分:1)
Activity是上下文的子类,因此所有Activity
个对象也是Context
:
android.content.Context
↳ android.content.ContextWrapper
↳ android.view.ContextThemeWrapper
↳ android.app.Activity
因此,如果您不能使用this
,则意味着this
不是Context
类或其子类的实例。
答案 1 :(得分:1)
当您将this
传递给方法时,您的意思是this
引用是Context
的实例,因此如果您在Activity中,则可以传递此而不是Context。但是当你在匿名课堂时:
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(){
//here this is a reference to OnClickListener instance
}
要在Context
方法中传递onClick
,您可以写
MyActivity.this