`

Activity间的通讯

 
阅读更多

Activity间的通讯是通过Intent类。比如有两个类A.class, B.class

由A启动新的activity B(单向),当B退出的时候A将不会接收到任何信息:

Intent i = new Intent(this,B.class);

startActivity(i);

 由A启动新的actvity B(双向),当B退出的时候A的onActivityForResult方法将会被调用给定的requestCode。

A.class添加代码:

Intent i = new Intent(this, B.class); 
i.putExtra(key, value);
startActivityForResult(i, ACTIVITY_CODE); 
 

 

 

B.class添加代码

 

 

 

 

//这里获取A传过来的数据 
Bundle extras = this.getIntent().getExtras();
 //这里通过key的方式获取值 
String value = extras.getString(key);

 

 

 

//把值传回
A.class Bundle bundle = new Bundle(); 
bundle.putString(key,value); 
Intent intent = new Intent(); 
intent.putExtras(bundle); 
setResult(RESULT_OK, intent); finish(); 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics