使用EventBus实现Activity与Fragment之间的跳转

在这就直接上代码了,想要了解具体的EventBus使用可以自己搜一下

首先

compile 'org.greenrobot:eventbus:3.0.0'

注册订阅者

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        EventBus.getDefault().register(this);// TODO: 注册

    }

在onDestroy方法中取消注册.

@Override  
public void onDestroy() {  
    super.onDestroy();  
    EventBus.getDefault().unregister(this);//取消注册  
}  

接收消息

.LOGOUT常量是int类型,在MainActivity中定义

public static final int LOGOUT=1;
    @Subscribe(threadMode = ThreadMode.MAIN )// 注意这别漏了
    public void onEventMainThread(Integer type){
        Toast.makeText(this, "处理eventbus请求", Toast.LENGTH_SHORT).show();
              if(type==LOGOUT){//登出
          //通过这个方法 开启想要开启的 Fragment
          //b2 是
            b2.performClick();
        }
    }

在Activity中

发送消息

 EventBus.getDefault().post(MainActivity.LOGOUT);

最后

在commit使用的 是

 mTransaction.commitAllowingStateLoss();

来源 网址 如果有什么不懂得话可以 去看看
http://blog.csdn.net/lowprofile_coding/article/details/48645441

你可能感兴趣的:(自定义view,Android,开发代码展示)