用于检查UI状态并强制检查每个名称的枚举

时间:2015-11-11 01:25:21

标签: java android enums

我有一个Android应用程序的遗留代码,从另一个团队传递给我们,并且有一些代码迫切需要重写或至少进行一些重构和清理。话虽如此,我们在我们的时间表中处于一个位置,我们正准备下个月发布。

我面临的问题是,根据一些先决条件,有一个Enum可以维护系统可以拥有的所有可能的UI状态。这是一项实施国家机器的努力。在确定状态之后的每个后续屏幕上,我们检查开关盒中的状态并确定屏幕应该做什么并且还使字面改变。所以,我在不同的活动和片段中的代码中都有这些切换案例。我无法在开关盒中创建单个方法,因为每个屏幕都应该做一些不同的事情。如果所有屏幕都相应编码,但是当我们有一个新的UI状态时问题就开始了,我们将状态添加到Enum但是队友有时会忘记检查各自代码中的新状态,基本上在交换机中添加新状态在他们的活动/片段中的情况,并导致错误。有没有办法可以通过代码强制执行此检查,就像实现类需要实现接口方法一样?如果添加了新状态,我们将在代码中出现编译错误。如果使用不同的数据结构可以实现这一点,我将做出改变。 此时的Enum只是一个常规的Enum,

public static enum UIStates{
PASSWORD_UNKNOWN,
CANCEL,
FAILURE,
SKIP,
DEVICE_UNKNOWN,
...
...
... 22 other states
}

0 个答案:

没有答案