我android.os.Handler
对Android中的机制感到非常困惑。为什么消息处理使用int
对消息类型进行编码?在阅读了 Effective Java 之后,我学会了偏爱 Enum 而不是int
这些类型,我觉得如何在这里继续进行非常不安全。
我想使用状态模式,定义来自 Handler 的子类的不同状态类,以处理来自视图的不同消息。
public class ReadyState extends Handler {
@Override
public void handleMessage(Message msg, int what) {
// ...
}
}
我是否必须使用 对我的状态进行编码int
,是否可以使用Enum
with 字段:
enum Action {
START(0), STOP(1), BACKFLIP(2);
int code;
public Action(int code) { this.code = code }
}
有替代方法吗?