一个关于片段之间通信的设计问题,
为什么有人会使用有点复杂的回调模式来实现侦听器,而不是使用我们想要从中调用方法的类中的简单静态方法(类似于对某些方法/属性使用 Singleton)。是否存在任何性能问题,或者它“只是”Android/Java 的一种糟糕的 OO 编程实践?因此,双向通信的简单方法可能是:
MyActivity activity
Fragment A
Fragment B
static method canBeCalledFromAnywhere() {}
method activityMethod()
call FragmentA.doSomething();
call FragmentB.doSomething();
FragmentA
onCreate()
onMe = this;
static method doSomething()
do something with static or use onMe for instance;
method oneMethodFragmentA()
call MyActivity.canBeCalledFromAnywhere();
FragmentB
onCreate()
onMe = this;
static method doSomething()
do something with static or use onMe for instance;
method oneMethodFragmentB()
call MyActivity.canBeCalledFromAnywhere();