android中为什么在oncreate的外面初始化控件,程序会崩溃?
不能在protectedvoidonCreate(BundlesavedInstanceState)的外面初始化数据;例如:Buttonb=newButton();pro...
不能在protected void onCreate(Bundle savedInstanceState) 的外面初始化数据;
例如:
Button b =new Button();
protectedvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
程序会出现崩溃,只有把初始化放在Oncreate函数,程序才不会崩溃,这是什么原因?求解。。 展开
例如:
Button b =new Button();
protectedvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
程序会出现崩溃,只有把初始化放在Oncreate函数,程序才不会崩溃,这是什么原因?求解。。 展开
展开全部
构造Button的时候会抛空指针异常,因为ContextWrapper中的context还未初始化好。。你看看崩溃日志就知道了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Button是控件,在没有setContentView(R.layout.activity_main)加载布局的时候,得不到context,所以不能new
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询