我有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();
}