关于两个activity之间切换时传递数值的情况(基于上一篇切换情况下)

来源:互联网 发布:ubuntu 搜狗拼音 乱码 编辑:程序博客网 时间:2024/05/21 09:12

情况一:Activity A  切换到  Activity B

在Activity A中

Intent  intent = new  Intent(MainActivity.this,Wifitransform.class);

  

  1.  //设置传递方向   
  2. intent.setClass(A.this,B.class);   
  3. //绑定数据   
  4. intent.putExtra("username1",username);   
  5. intent.putExtra("userpwd1"userpwd);  
  6.  /*或者绑定成一捆数据  
  7. Bundle data = new Bundle();  
  8. data.putString("username1",username);  
  9. data.putString("userpwd1",userpwd); 
  10. intent.putExtras(data);  
  11. */ 

startActivity(intent);

在Activity B中

  1. Intent intent = getIntent();   
  2. //获取数据   
  3. String username = intent.getStringExtra("username1");   
  4. String userpwd = intent.getStringExtra("userpwd1");   
  5. /* Bundle data = intent.getExtras();  
  6. String username = intent.getString("username1");  
  7. String userpwd = intent.getString("userpwd1"); */  

B得到了A的值

情况二:Activity A  切换到  Activity B,Activity B 退回到  Activity A

在Activity B中

只需在完成操作后想退回的地方添加

finish();

setResult(id, (new Intent()).setAction(title))

就可以了,id表示请求结果码,title表示返回值

在Activity A中

protected void onActivityResult(int requestCode,int resultCode, Intent data){

if(requestCode == ?)

{

String    returnValue =  data.getAction();

}

if(resultCode == ?)

{

String    returnValue =  data.getAction();


}

super.onActivityResult(requestCode, resultCode, data);

}

就可以得到返回值了。

除了A.class可以向B.class传值外,B.class也可以返回值

 A.class中

 this.startActivity(intent);

 改为this.startActivityFroResult(intent,1);//1为请求码

 B.class中

 对传过来的intent对象赋新值

Java代码  收藏代码
  1. intent.putExtra("username2",username2);   
  2. intent.putExtra("userpwd2",userpwd2);  
  3. this.setResult(1,intent);   
  4. this.finish();//结束焦点   

A.class中重写

 

 

Java代码  收藏代码
  1. @Override protected void onActivityResult(int requestCode,int resultCode,Intent data){  
  2.  super.onActivityResult(requestCode,resultCode,data);   
  3.  if(resultCode==1)   
  4. {  
  5.  //可从data中取出值   
  6. }   
  7. }   

 A.class中取出B.class中intent传过来的值


0 0
原创粉丝点击