Notice: 函数 WP_Scripts::localize 的调用方法不正确$l10n 参数必须是一个数组。若要将任意数据传递给脚本,请改用 wp_add_inline_script() 函数。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 5.7.0 版本添加的。) in /data/www/appblog/wp-includes/functions.php on line 6131

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更新服务器设计