Rxbus 的使用

背景介绍:
在需要多个界面之间传递信息使用,rxbus简便、简单。

发送方-UserBindPasswordActivity:

在绑定密码成功之后,需要把成功的消息发给用户信息页面

    @Override
    public void updatePasswordSuccess() {
        RxBus.getDefault().post(new Events.UserBindPassword(true));
        finish();
    }

接收方-UserInfoActivity :

用户信息页面接收到成功绑定的消息,做相应的操作。


    // 重新设置密码成功的回调
    @Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
    public void event(Events.UserBindPassword password) {
        if (password.isResetPasswordSuccess()) {
            mTvLoginPwd.setText("修改");
            mTvLoginPwd.setTextColor(getResources().getColor(R.color.black));
        }
    }

消息实体类-Events :

需要一个实体类来区别不同的消息,在Events类中定义一个内部类:


    public static class UserBindPassword {
        boolean resetPasswordSuccess;
        public UserBindPassword(boolean resetPassword) {
            this.resetPasswordSuccess = resetPassword;
        }
        public boolean isResetPasswordSuccess() {
            return resetPasswordSuccess;
        }
        public void setResetPasswordSuccess(boolean resetPasswordSuccess) {
            this.resetPasswordSuccess = resetPasswordSuccess;
        }
    }

最后还需要注册及取消注册:

   @Override
    protected void onStart() {
        super.onStart();
        RxBus.getDefault().register(this);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        RxBus.getDefault().unRegister(this);
    }

基于:
compile 'com.wzgiceman:RxBus:1.0.2'

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,463评论 19 139
  • EventBus介绍: Rx:函数响应式编程,EventBus:事件总线 。EventBus 功能类似handle...
    3Q竹林阅读 5,414评论 0 1
  • RxBus的核心功能是基于Rxjava的,在RxJava中有个Subject类,它继承Observable类,同时...
    Angelicas阅读 12,297评论 1 8
  • 前一阶段,组内做技术分享,我给大家分享了RxJava的使用。在分享的时候,这次分享也是我对RxJava一个快速学习...
    wenju_song阅读 5,884评论 4 9
  • 前面几篇文章因为不知道简书怎么写,结果格式乱七八糟的,现在才知道代码怎么插进来,汗~英文状态下左上角的那个符号 ,...
    eiun阅读 7,772评论 0 4