android开发中一个暴简单的问题,为什么不能在Activity中的属性里创建Button的实例,会报空指针

如图,为什么不能在Activity中的属性里创建Button的实例,会报空指针... 如图,为什么不能在Activity中的属性里创建Button的实例,会报空指针 展开
 我来答
Blade_魔术师
2015-09-17 · 超过14用户采纳过TA的回答
知道答主
回答量:115
采纳率:9%
帮助的人:22.5万
展开全部
Activity有生命周期的,具体你可以看一下api文档,onCreate才表示这个activity生效,你必须在这个阶段才能获取button的实例,像你代码中那样的 activity都还没创建好,你就实例化依赖activity的button 肯定空指针
流云更迭
推荐于2016-11-13 · 超过20用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:33.2万
展开全部
资源还没创建好就调用,所以是空指针。

关于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.
追问
哦我懂了,我本来以为系统会先new一个Activity,然后在再调用oncreate。那这里系统是怎么创建Activity实例呢?是直接用oncrete?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小傻

2015-09-17 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部
你得把初始化放在oncreate方法里面,因为这个方法会执行控件绘制等一系列操作,可以查看一下源码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式