Android-eventBus的使用

我主要在项目中使用如下:Fragment通知四个子fragment


1,在父Fragment里面发布消息:

(1).声明全局变量

      public EventBus eventBus;

(2).在父Fragment的onCreateView里面new对象:

      eventBus = new EventBus();

(3)注册子fragment

    type = new fragment();//新建的fragment

     eventBus.register(type);

(4).发布消息

    private void notifiFragment(String p){
         eventBus.post(p);//发布消息
    }


2,在子Fragment接收消息:

    @Override
    public void onEvent(String r) {
      //dosomething
    }

我的fragment基类如下:

/**
 * fragment基类
 *
 *
 */
public abstract class BaseFragment extends Fragment {
    public Activity mActivity;
    protected boolean isVisible;
    /**
     * 在这里实现Fragment数据的缓加载.
     * @param isVisibleToUser
     */
    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if(getUserVisibleHint()) {
            isVisible = true;
            onVisible();
        } else {
            isVisible = false;
            onInvisible();
        }
    }
    protected void onVisible(){
        initData();
    }
 // 初始化数据, 可以不实现
    public abstract void initData();
    
    protected void onInvisible(){
        
    }

    // fragment创建
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mActivity = getActivity();
    }

     public abstract void onEvent(String p);
    
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值