多次收到的事件 - Greenrobot eventbusAndroid

时间:2016-11-15 06:05:26

标签: android

我有CashRegister片段。 其中包含带有嵌套3个片段的Viewpager。 其中CurrentCashFragment使用Eventbus。 我在其中调用第一个api并在该api的@subscribe方法中调用第二个api调用。 但是第一次api调用的@subscribe方法会多次调用,因为对服务器的调用会多次调用。

我还在片段的onresume和onstop方法中注册/取消注册eventbus。 这个描述是否足以解释或我是否应该发布我的代码。

//代码

最初我调用endCashRegister()api调用

// end cash register event
    @Subscribe
       public void onEndCashRegisterEvent(EndCashRegisterEvent event) {
         CashRegisterResponce regResponce = event.responce;
            if (regResponce != null && regResponce.getStatus() == 0) {
               // call another api to server
                 accountManager.generateReport(shopCode, start_Date,   end_Date, 0);
              } else {
                   Utility.displaySnackBar(rootView, regResponce.getMessage());
                      }
           }

line accountManager.generateReport(shopCode,start_Date,end_Date,0);根据需要拨打2次电话仅限1次。

     @Override
        public void onStop() {
          if (eventBus != null) {
             eventBus.unregister(this);
           }
           super.onStop();
        }

       @Override
             public void onPause() {
            if (eventBus != null) {
              eventBus.unregister(this);
            }
           super.onPause();
           }

            @Override
            public void onResume() {
            if (eventBus != null) {
                eventBus.register(this);
           }
           super.onResume();
           }

0 个答案:

没有答案