我有一个BaseFragment
将自身注册/注销到EventBus
in的onStart()/onStop()
类,以及从它继承的几个子类(FragmentA
,FragmentB
...)。基类没有任何用 注释的方法@Subscribe
,也FragmentA
没有,但我希望它无论如何都要注册,以防我将来添加一些。
如果我注册一个没有任何@Subscribe
注释方法的对象,我除了没有任何事情发生,比如使用SquareUp 的 Otto时,但 EventBus 会抛出异常:
org.greenrobot.eventbus.EventBusException: Subscriber class com.company.app.FragmentA and its super classes have no public methods with the @Subscribe annotation
为什么要抛出异常?我的意思是,它不会阻止应用程序运行。
register()/unregister()
是将调用包装BaseFragment
成丑陋的唯一解决方案try ... catch
还是有更清洁的解决方法?