Atlas插件bundle与host通信之RxBus

在bundle中注册RxBus

public class HomeActivity extends TabMainActivity<HomePresenter> implements
        IHomeView {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        NLog.i(TAG, "appblog_cn_home.ui.activity.HomeActivity");
        setContentView(R.layout.activity_home);
        initView();

        RxBus.getInstance().register(this);
    }

    @Override
    public HomePresenter createPresent() {
        return new HomePresenter();
    }

    private void initView() {

    }

    @RxBusSubscribe(tag = RxBus.TAG_HOME)
    public void onHomeTabSwitch(String tab) {
        NLog.i(TAG, "HomeActivity: onHomeTabSwitch");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        RxBus.getInstance().unRegister(this);  //注意销毁时取消注册,否则会出现重复多次回调接收
    }
}

在host中发送消息

@Override
public void onPageSelected(int position) {
    NLog.i(TAG, "ViewPager onPageSelected: " + position);

    onTabSwitch(position);
}

private void onTabSwitch(int position) {
    NLog.i(TAG, "MainActivity: onTabSwitch " + position);
    switch (position) {
        case Constants.MAIN_TAB_HOME:
            RxBus.getInstance().post(RxBus.TAG_HOME, "home");
            break;
        case Constants.MAIN_TAB_SEARCH:
            RxBus.getInstance().post(RxBus.TAG_SEARCH, "search");
            break;
        case Constants.MAIN_TAB_CATEGORY:
            RxBus.getInstance().post(RxBus.TAG_CATEGORY, "category");
            break;
        case Constants.MAIN_TAB_CART:
            RxBus.getInstance().post(RxBus.TAG_CART, "cart");
            break;
        case Constants.MAIN_TAB_MINE:
            RxBus.getInstance().post(RxBus.TAG_MINE, "mine");
            break;
        default:
            break;
    }
}
上一篇 Atlas技巧
下一篇 基于Atlas的APP更新服务器设计
目录
文章列表
1 CentOS 7下安装及配置VsFTP(详细)
CentOS 7下安装及配置VsFTP(详细)
2
Linux清空文件内容
Linux清空文件内容
3
Hexo模板
Hexo模板
4
如何在 ConstraintLayout 中设置负值的 Margin
如何在 ConstraintLayout 中设置负值的 Margin
5
CentOS下PHP 7.4 快速安装
CentOS下PHP 7.4 快速安装
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。