android按钮监听的时候,点击按钮跳转的时候,就显示空指针异常,是为什么?也注册了要跳转的Activity

 我来答
QQMSD8
2015-09-21 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部

Android点击按键转跳Activity,需要使用intent来转跳。


Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。比如,有一个Activity希望打开网页浏览器查看某一网页的内容,那么这个Activity只需要发出WEB_SEARCH_ACTION给Android,Android就会根据Intent的请求内容,查询各组件注册时声明的IntentFilter,找到网页浏览器的Activity来浏览网页。 


Android的三个基本组件——Activity,Service和Broadcast Receiver——都是通过Intent机制激活的,不同类型的组件有不同的传递Intent方式:

  1. 要激活一个新的Activity,或者让一个现有的Activity做新的操作,可以通过调用Context.startActivity()或者Activity.startActivityForResult()方法。 

  2. 要启动一个新的Service,或者向一个已有的Service传递新的指令,调用Context.startService()方法或者调用Context.bindService()方法将调用此方法的上下文对象与Service绑定。

  3. Context.sendBroadcast()、Context.sendOrderBroadcast()、Context.sendStickBroadcast()这三个方法可以发送Broadcast Intent。发送之后,所有已注册的并且拥有与之相匹配IntentFilter的BroadcastReceiver就会被激活。 

  4. Intent一旦发出,Android都会准确找到相匹配的一个或多个Activity,Service或者BroadcastReceiver作响应。所以,不同类型的Intent消息不会出现重叠,即Broadcast的Intent消息只会发送给BroadcastReceiver,而决不会发送给Activity或者Service。由startActivity()传递的消息也只会发给Activity,由startService()传递的Intent只会发送给Service。


示例代码:

Intent intent = new Intent(当前Activity.this,目标Activity.class);

startActivity(intent);转跳Activity。

奇奇来了了
2013-08-16 · 超过13用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:31.9万
展开全部
日志中已经写清楚了(倒数第四行):com.example.helloworld.Second.OnCreate(Second.java:14)
Second.java类里面第14行出错了,你得贴出Second.java类出来
追问

刚开始自学,还请大家多指导,谢谢哦。。。

追答
调用findViewById前还没调用setContentView,不然Activity怎么知道你要加载哪个layout
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wwmoo7
2013-08-16 · TA获得超过109个赞
知道小有建树答主
回答量:218
采纳率:80%
帮助的人:50.9万
展开全部
second.class 这个activity 没有在mainifest 中声明
追问

貌似有那个Activity哦,还是帮忙看看比较保险

追答
加上 action 和 category 试下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式