gpt4 book ai didi

java - 尝试创建一般对象时出现空指针异常 - Android

转载 作者:行者123 更新时间:2023-12-01 18:27:09 25 4
gpt4 key购买 nike

我有一个简单的通用类,它应该为我提供正在运行的设备的宽度和高度:设备信息.c

public class deviceInfo
{
private float width;
private float height;
private Context cx;

public deviceInfo(Context context)
{
this.width = getDeviceWidth();
this.height = getDeviceHeight();
this.cx=context;
}

public int getDeviceHeight()
{
WindowManager wm = (WindowManager) cx.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
return display.getHeight();
}

public int getDeviceWidth()
{
WindowManager wm = (WindowManager) cx.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
return display.getWidth();
}
}

当我尝试在 Activity 中创建对象时,出现空指针异常。这是为什么?我猜测我的问题出在 Context 参数上,但我不知道如何解决这个问题。提前致谢。

最佳答案

将cx的初始化顺序更改为:

public deviceInfo(Context context)
{
this.cx=context;
this.width = getDeviceWidth();
this.height = getDeviceHeight();

}

空指针可能位于包含代码的行中:

WindowManager wm = (WindowManager) cx.getSystemService(Context.WINDOW_SERVICE);

其中,cx 显然为 null,因为这些函数是在代码中初始化 cx 之前调用的。

关于java - 尝试创建一般对象时出现空指针异常 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25666669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com