[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]
[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]