广播或者EventBus实现二个Fragment间通信传值的问题

问题:在程序中想办法先初始化此Fragment,比如app中首页四个Tab分页,由第一个分页向第三个分页post事件时,如果刚进入app且没有操作的情况下,第三个Fragment一般都是未初始化的,这种情况可以在进入默认第一个分页时先进入第三个分页,然后立马再切换到第一个分页,这样用户是看不出切换过程的,而第三个Fragment也初始化了。


解决:

方法1.

  1. setTabSelection(2);//先选择第三个Tab分页  
  2. setTabSelection(0);//然后立马切换到默认的第一个Tab分页 

在这之后在post事件,应该就没问题了。


方法2.采用延时post的形式。即先切换到要post事件的Fragment,等待几十毫秒后再post事件,这样既可解决未初始化问题。

bottom_tab_bar.init(getSupportFragmentManager())
        .setFontSize(12)
        .setTabPadding(12, 6, 22)
        .setChangeColor(getResources().getColor(R.color.zhuzhi_bottom_blue), getResources().getColor(R.color.all_3))
        .addTabItem("消息", R.mipmap.message, R.mipmap.message_gray, MyNewsFragment.class)
        .addTabItem("成员", R.mipmap.people_icon, R.mipmap.people_bule, MemberFragment.class)
        .addTabItem("课程", R.mipmap.course_bule, R.mipmap.course_gray, UncourseFragment.class)
        .setTabBarBackgroundColor(Color.WHITE)
        .isShowDivider(false)
        .post(new Runnable() {
            @Override
            public void run() {
                bottom_tab_bar.setCurrentTab(1);
                bottom_tab_bar.setCurrentTab(0);
            }
        });
readme:

本人用的是一个第三方的BottomTabBar的。刚开始设置

bottom_tab_bar.setCurrentTab(1);
bottom_tab_bar.setCurrentTab(0);
不行,后来放在post实现了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值