我在LayoutEditor中遇到一些错误。
无法实例化。 ... java.lang.NullPointerException
在我的应用程序中,我尝试将ApplicationContext传递给类,但是出现这些错误,我无法弄清楚为什么?
这是MainActivty
public class MainActivity extends Activity {
static Window window;
static Context context;
static Consts consts;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
window = this.getWindow();
context = this.getApplicationContext();
consts = new Consts();
setContentView(R.layout.activity_lap_timer);
}
在Consts类中,我尝试通过静态变量获取上下文
private Context context = MainActivity.context;
public Consts() {
DisplayMetrics metrics = this.context.getResources().getDisplayMetrics(); <-- here i have the error
对不起,我忘了这个
public static Consts getConsts() {
if(_currentConsts==null)
return new Consts();
return _currentConsts;
}
这件事很重要,如何用this处理构造函数(在Consts类中)?
我能做什么 ?
最佳答案
如下所示将MainActivity上下文传递给Consts类构造方法。
consts = new Consts(MainActivity.this);
并将构造函数上下文分配给Consts类中的全局变量上下文,如下所示。
Context ctx;
public Consts(Context ctx)
{
this.ctx = ctx;
DisplayMetrics metrics = ctx.getResources().getDisplayMetrics();
}
关于android - 如何正确传递上下文?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13819990/