无法从静态上下文引用非静态方法getIntExtra(java.lang.String,int)?

无法从静态上下文引用非静态方法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) 从静态上下文引用 使用:

如何通过重写onResume()调用getIntExtra

错误代码如下所示:

@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));