Android-菜鸟程序员-页面传值-CheckBox

1、什么是Intent

Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件。通过使用Intent,程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。

2.看看步骤

显式Intent

(1)新建布局文件activity2_my.xml



在该布局中添加一个按钮Button,显示名称为“myButton2”。

2)创建活动类MyActivity2.java


(3)注册活动MyActivity2

修改application配置文件AndroidManifest.xml文件,注册上述活动,如下:



MyActivity2不是主活动,不需要配置intend-filter。

(4)测试显示Intent

场景:在MyActivity中点击Button 跳转到第二个活动MyActivity2。因此修改MyActivity中按钮的点击事件,代码如下:


(5)查看效果

重新运行程序,当点击主活动界面上的按钮时,出现如下结果:




活动间数据传递

Intent可以在活动启动的时候进行数据传递,比如主活动可以向其他活动传递,其他活动也可以返回数据给主活动。

(1)向下一个活动传递数据

修改活动MyActivity.java中onCreate方法中按钮的点击监听事件,如下:



即使用Intent的putExtra方法传递数据,其中第一个参数是key,第二个参数是value。

目标活动MyActivity2接受来自MyActivity的数据,修改MyActivity2.java,修改onCreate方法,如下:



 即使用Intent的getXXXExtra方法接受传递来的数据,其中XXX根据传递的数据类型进行确定的。

         当点击主活动的button时,显示如下:



(2)返回数据给上一个活动

                 数据可以传递给下一个活动,同样可以返回给上一个活动。使用startActivityForResult方法。过程如下:

修改主活动MyActivity的方法onCreate,如下:



当传递到活动MyActivity2中,修改其onCreate方法,如下:

即获取主活动传递来的数据,使用Toast显示,并且为Button2添加点击监听事件:创建一个Intent,回传数据给主活动,同时销毁当前活动。使用setResult方法回传数据。

需要注意的是,用户按下back时也可以返回,因此在活动MyActivity2中还需要重写onBackPressed方法,如下:



当数据回传后,主活动MyActivity中需要重写方法onActivityResult进行数据的接受,重新MyActivity.java中onActivityResult方法,如下:

这样就完成了整个传递及回传过程。

测试:向下传递数据我们上面已经测试过,在这里我们测试回传数据,当点击活动MyActivity2中的按钮时,显示如下:




说明主活动MyActivity获取到了返还数据。

[java]  view plain  copy



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值