EventBus 页面传值并启动Activity
2015-09-15 09:01
423 查看
使用EventBus 对于程序控制很方便,但是一直有一种情况用不了EventBus,就是在事件的接收方还没有启动的情况下怎么发广播: 如有A,B, 两个Activity , App当前处在 A Activity 现在要向B传递一个值并且启动B Activity, 正常情况下在A 发送 EventBus.getDefault().post(new Event()); 但是有一个问题,此时B还没有启动, B也没办法成功接收这个事件。那怎么解决:
public class AActivity extends Activity { // 某个点击事件 @Override public void onClick(View v) { Event event= new Event(10); // 发布Sticky事件 EventBus.getDefault().postSticky(event); // 跳转到B页面 Intent intent = new Intent(this, BActivity.class); startActivity(intent); } } 最后我们看看BActivity如何接收数据。 public class BActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_b); // 以Sticky的形式注册 EventBus.getDefault().registerSticky(this); } @Subscriber private void receiveUser(Event event){ // 这里实现你的逻辑即可, event即为传递过来的Event对象 } }
相关文章推荐
- GridView实时更新数据
- 讲解Java中如何构造内部类对象以及访问对象
- 图片变形的抗锯齿处理方法
- (2.2.2.1)设计模式--单例模式(一)懒汉式和饿汉式
- IOS学习笔记 ---- 15/09/14
- [刷题]Best Time to Buy and Sell Stock Show result
- C语言接续符和转义符
- Jump Game 的三种思路 - leetcode 55. Jump Game
- Android Selector 与 Shape 基本用法
- 在WebView中如何让JS与Java安全地互相调用
- ClassLoader的几个概念、类和对象的解释
- Jsp:useBean使用详解
- 转载的。。。
- js小写转实现资本,js数字革命万元
- 配置自己的项目全站使用SSL连接
- 并行编程
- 查看数据库所有表的所有字段
- Dubbo架构设计详解
- 判断有木有环
- 加油站(不会做)