android 入门学习笔记 利用bundle实现android,activity间消息的传递

 Activity间的通讯是通过Intent类。比如有两个类A.class, B.class
由A启动新的activity B(单向),当B退出的时候A将不会接收到任何信息:

Intent intent = new Intent(); intent.setClass(A.this, B.class); Bundle bundle = new Bundle(); bundle.putString("path", path); intent.putExtras(bundle); startActivity(intent);



由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();

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/5aef7ee74f4f408f8ab0118fc1e000d9.html