我有以下两种方法:
public void informAllFragmentsWhenDatabaseStatusChanged () {
for (int i=0; i<mainActivityPageAdapter.getCount(); i++) {
if (mainActivityPageAdapter.getFragment(i) instanceof InterfaceMainDatabaseStatusChanged)
((InterfaceMainDatabaseStatusChanged) mainActivityPageAdapter.getFragment(i)).onMainDatabaseStatusChanged();
};
}
public void informAllFragmentsWhenListStatusChanged () {
for (int i=0; i<mainActivityPageAdapter.getCount(); i++) {
if (mainActivityPageAdapter.getFragment(i) instanceof InterfaceListStatusChanged)
((InterfaceListStatusChanged) mainActivityPageAdapter.getFragment(i)).onListStatusChanged();
};
}
请注意,每个都是在不同的时刻执行的。
正如您所注意到的,这两种方法的主要部分是相同的。instanceof 使用的接口名称和在对象上执行的方法有什么不同。
问题是如何以优雅的方式将这两种方法结合起来。
我在想这样的事情:
public void informAllFragments (InterfaceType interface);
有什么建议么?