在WakeUp中实现了功能,然后在主活动的onCreate方法中实例化了一个WakeUp对象,结果报以下错误,不太明白原因,求教。
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference
两种错误方式 : 1 可能你new的那个类有问题 2 你试一试放在oncreat 方法外面试试
和放在oncreate里面外面没有关系,可能是你new出来的这个变量找不到匹配的构造方法。
findViewById 出错,显然没有在你提供的代码中。那么,应该是在 WakeUp 的实现中了!
WakeUp 中使用了与 View 相关的方法,但是使用的方法有问题,具体有分析 WakeUp 的代码实现。
问题出在WakeUp,你要把WakeUp的代码贴出来,把Activity贴出来是没有用的
关键在于WakeUp这个类,你贴出来看看
你定义的 WakeUp类,使用错了。 你先学下什么是 Activity,以及生命周期;
WakeUp 不需要自定义构造函数。 你直接在MainActivity类里 new WakeUp() 也是不对的。
应该实现方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 设置布局, 查找控件
}
你可以找个例子或者教程看看
这个代码...Android没有这样写的,把WakeUp的构造函数直接放到MainActivity里面就作为一个方法就可以了,然后在onCreate里面调用