android学习系列:2个Activity之间数据传递

[b][size=small;]使用bundle,在2个<span style="font-family: times new roman;">activity[/size]<span>间传递<span class="t_tag">数据,2个<span style="font-family: times new roman;">activity之间传数据分2种情况:</span></span></span></span>[/b]
[b]</strong>
[b][size=small;]<span style="font-family: times new roman;"><span class="t_tag">1.直接将数据从一个activity传到下一个activity[/size]</span></span>[/b]
[b][size=small;]<span style="font-family: times new roman;">     [/size]
firstactivity.java
 //数据写入intent
intent fintent=new intent(firstactivity.this, second.class);
bundle fbundle=new bundle();
 fbundle.putstring("key_name",value);
 fintent.putextras(fbundle);
 startactivity(fintent);
 second.java
//从intent中获取数据
bundle sbundle=this.getintent().getextras();
 string value=sbundle.getstring("key_name")
<pre></pre><span class="t_tag"> 
[b][size=small;]<span> 
<pre></pre><span class="t_tag"> 
[b][size=small;]<span> 
 
 
 
 
 
[/size][/size][/b]</span></span></span>[/b]</span></span></span>[/b][b][size=small;] 
[/size][/b] 
 
[b][size=small;] 2.从第2个activity返回数据到第一个activity
//firstactivity,java
 final int request_rq=0;
 intent tonextintent=new intent(firstactivity.this, secondactivity.class);//intent定义
 //设定开启的下一个activity startactivityforresult(tonextintent, request_rq);
<pre></pre> 
[b][size=small;] 
 
 
[/size][/b][/size][/b][b]<span>[b][size=small;]
<pre></pre>[size=x-small;]// [size=10.5pt;]第一个参数是你开启请求<span style="font-family: courier new;">intent[/size]<span>时的对应请求码,可以自己定义。[/size]</span></span>
[size=x-small;][size=10.5pt;][/size] [size=10.5pt;]// [/size][size=10.5pt;]第二个参数是目标<span style="font-family: courier new;">activity[/size]<span>返回的验证结果码[/size]</span></span>
[size=x-small;][size=10.5pt;][/size] [size=10.5pt;]// [/size][size=10.5pt;]第三个参数是目标<span style="font-family: courier new;">activity[/size]<span>返回的[/size]<span style="font-family: courier new;">intent</span></span></span>
<pre></pre> 
@override protected void onactivityresult(int requestcode, int resultcode, intent data) {
 // todo auto-generated method stub
super.onactivityresult(requestcode, resultcode, data);
 if(requestcode==request_rq)
{
 if(resultcode==result_canceled)
{ settitle("cancel"); }
else if(resultcode==result_ok)
{ bundle backbundle=data.getextras();
//从返回的intent中获得bundle
 //从bundle中获得第二个activity返回数据 string value=showbundle.getstring("bk_key_name"); } } }
<pre></pre></span>[/b] 
secondactivity.java
final int result_rq=0;
 intent backintent=new intent();
bundle backbundle=new bundle();
 backbundle.putstring("bk_key_name", value);
 backintent.putextras(backbundle);
 setresult(result_rq, backintent);
//返回activity结果码
finish();
<pre></pre> 偶了个去,这个编辑器差的很、
</span>[/b] 
 
 
<strong>[size=large;]<span><span class="t_tag">   [/size]</span></span>[/b]
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值