`
lucene321
  • 浏览: 174295 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • java
阅读更多
    [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>
</strong>
[b][size=small;]<span style="font-family: times new roman;"><span class="t_tag">1.直接将数据从一个activity传到下一个activity[/size]</span></span>

[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]
</span></span></span>[/b]</span></span></span>[/b][size=small;] 
[/size]
 
 
[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]
[/size][/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>
 
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]
 
 
0
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics