为什么不能在Activity中的属性里创建Button的实例,会报空指针

资源还没创建好就调用,所以是空指针。

关于super.onCreate()的注释:
Called when the activity is starting. This is where most initialization should go: calling setContentView(int)} to inflate the activity's UI, using findViewById to programmatically interact with widgets in the UI etc.
Derived classes must call through to the super class's implementation of this method. If they do not, an exception will be thrown.
关于findViewById(int id)的注释:

Finds a view that was identified by the id attribute from the XML that was processed in onCreate,return The view if found or null otherwise.

---------------------------------------------------------

Activity有生命周期的,具体你可以看一下api文档,onCreate才表示这个activity生效,你必须在这个阶段才能获取button的实例,像你代码中那样的 activity都还没创建好,你就实例化依赖activity的button 肯定空指针

---------------------------------------------------------

你得把初始化放在oncreate方法里面,因为这个方法会执行控件绘制等一系列操作,可以查看一下源码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值