无法从静态上下文引用非静态方法getIntExtra(java.lang.String,int)?
如何通过重写onResume()调用getIntExtra 错误代码如下所示:无法从静态上下文引用非静态方法getIntExtra(java.lang.String,int)?,java,android,android-intent,Java,Android,Android Intent,如何通过重写onResume()调用getIntExtra 错误代码如下所示: @Override protected void onResume() { super.onResume(); setDDL_Selected(0); setDDL_Selected(Intent.getIntExtra("DDL_ID", 0)); } 编译器抛出以下错误: 不能使用非静态方法getIntExtra(java.lang.String,int) 从静态上下文引用 使用:
@Override
protected void onResume()
{
super.onResume();
setDDL_Selected(0);
setDDL_Selected(Intent.getIntExtra("DDL_ID", 0));
}
编译器抛出以下错误:
不能使用非静态方法getIntExtra(java.lang.String,int)
从静态上下文引用
使用:
所有
活动
都有一个getIntent()
方法,该方法将返回用于启动活动
的Intent
。通过调用getIntent()
可以获得Intent
的实例,并且可以对其调用非静态方法如果不能对类对象调用方法getIntExtra
,则需要Intent实例。您可以通过获得答案,但您不必在任何地方都使用getIntent(),最佳做法是创建Intent变量并在onCreate方法中初始化它,然后您可以在活动中的任何地方使用它
Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.layoutname);
intent=getIntent();
}
现在像这样使用它:
setDDL_Selected(intent.getIntExtra("DDL_ID", 0));
也许这就是你以前遇到过Intent.getIntExtra的地方?谢谢,还在学习中!当它允许我的时候,我会接受的。谢谢你的解释,现在有意义了:-)
setDDL_Selected(intent.getIntExtra("DDL_ID", 0));